передача QUERY_STRING при обработке error_page 404

Igor Sysoev is at rambler-co.ru
Wed Aug 24 19:32:02 MSD 2005


On Wed, 24 Aug 2005, Andrei Nigmatulin wrote:

> Есть небольшой вопрос по конфигурации:
>
>    server {
>        listen  81;
>
>        location / {
>            root   html;
>            index  index.html index.htm;
>        }
>
>        location ^~ /404.phtml {
>            internal;
>            fastcgi_param   DOCUMENT_ROOT     $document_root;
>            fastcgi_param   PATH_TRANSLATED   $document_root/404.phtml;
>            fastcgi_param   SCRIPT_NAME       /404.phtml;
>            fastcgi_param   QUERY_STRING      $query_string;
>            fastcgi_param   SERVER_NAME       $server_name;
>            fastcgi_param   REQUEST_URI       $request_uri;
>            fastcgi_param   DOCUMENT_URI      $document_uri;
>            fastcgi_param   REQUEST_METHOD    $request_method;
>            fastcgi_pass 127.0.0.1:8002;
>        }
>
>        error_page 404 =200 /404.phtml ;
>    }
>
> Хочется обрабатывать 404 ошибки скриптом, но при этом в скрипт почему-то не
> передается QUERY_STRING.
>
> Как можно сделать чтобы передавалась ?

После error_page $query_string обнуляется. Можно так:

     server {
         set  $original_query_string  $query_string;

         ...

         location ^~ /404.phtml {
             ...
             fastcgi_param  QUERY_STRING   $original_query_string;
             ...


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list