логика обработки 404
Igor Sysoev
is at rambler-co.ru
Fri Sep 8 11:59:35 MSD 2006
On Fri, 8 Sep 2006, Evgeny Stepanischev wrote:
>
> Добрый день!
>
> Есть вот такой файл конфигурации:
>
> 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)$ {
error_page 404 = /404;
> }
>
> 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;
> }
location = /404 {
fastcgi_param SCRIPT_FILENAME /path/to/sites/$host/engine.php;
fastcgi_param REDIRECT_URL $request_uri;
...
}
> }
>
>
> Надо сделать так, чтобы для 404 на файлах (location, где
> обрабатываются всякие там gif, jpg, png, плюс html и css) управление
> передавалось на /path/to/sites/$host/engine.php, причём в redirect_url
> был URL на который зашёл пользователь.
>
>
> Т.е. чтобы
> http://site.com/test.exe пользователь скачивал нормально, если этот
> файл есть или, если файла нет, получал красиво оформленную 404 из
> движка.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list