| Новости | 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;
}
}