ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: логика обработки 404



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



 




Copyright © Lexa Software, 1996-2009.