логика обработки 404
Evgeny Stepanischev
se at lixil.ru
Fri Sep 8 11:41:39 MSD 2006
Добрый день!
Есть вот такой файл конфигурации:
server {
listen xxx.xxx.xxx.xxx:80;
server_name one.site.com two.site.com;
charset utf-8;
root /path/to/sites/$host;
location ~ \.(gif|jpg|jpeg|png|ico|mq4|ex4|mqh|txt|zip|dll|js|swf|ico|doc|asx|asf|wmv|pdf|exe)$ {
}
location ~ \.(html|css)$ {
ssi on;
ssi_types text/css;
expires off;
}
location / {
fastcgi_pass unix:/tmp/php.fcgi;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /path/to/sites/$host/engine.php;
fastcgi_param DOCUMENT_ROOT /path/to/sites/$host;
fastcgi_param REDIRECT_URL $fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REDIRECT_STATUS 200;
fastcgi_param REMOTE_ADDR $remote_addr;
}
}
Надо сделать так, чтобы для 404 на файлах (location, где
обрабатываются всякие там gif, jpg, png, плюс html и css) управление
передавалось на /path/to/sites/$host/engine.php, причём в redirect_url
был URL на который зашёл пользователь.
Т.е. чтобы
http://site.com/test.exe пользователь скачивал нормально, если этот
файл есть или, если файла нет, получал красиво оформленную 404 из
движка.
Бился, бился, пока не выходит каменный цветок.
Заранее спасибо!
More information about the nginx-ru
mailing list