Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sergey M. 17.06.2011 00:37 / 17.06.2011 06:34
"классический" вариант:server { listen 80; server_name parser.test; root /var/www/test/html; location / { index index.html; } # назначение обработчиком .html страниц: location ~ \.html$ { # отдаем парсеру только реально существующие файлы try_files $uri =404; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param SCRIPT_NAME $request_uri; fastcgi_param SCRIPT_FILENAME /var/www/test/cgi/parser3.cgi; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param PATH_TRANSLATED /var/www/test/html$fastcgi_script_name; include fastcgi_params; } # запрет на доступ к .cfg и .p файлам: location ~ \.(p|cfg|dir|pag)$ { deny all; } }вариант с реврайтом на один файл-обработчик:
server { listen 80; server_name parser.test; location / { root /var/www/test/html; # добавляем trailing slash, на любителя rewrite ^([^.]*[^/])$ $1/ permanent; # если файл существует отдаем его, иначе перенаправляем парсеру try_files $uri @backend; } location @backend { # файл-обработчик doc.html можно хранить "вне веб пространства" root /var/www/test/script; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param SCRIPT_NAME $request_uri; fastcgi_param SCRIPT_FILENAME /var/www/test/cgi/parser3.cgi; fastcgi_param PATH_INFO /doc.html; fastcgi_param PATH_TRANSLATED /var/www/test/script/doc.html; # uri приходит в скрипт параметром request fastcgi_param QUERY_STRING request=$uri&$args; include fastcgi_params; } }