Re: error_page и данные

proforg proforg at maloletka.ru
Tue Apr 24 16:40:28 MSD 2007


постить на /blablabla/ нельзя :)
по определению

но никто не мешает вместо 404 обработчика
использовать if(-f) / if(-d)
например так

    location = /index.php
     {
# fastcgi  stuff here
     }

     location /
     {
         root /home/u_cache/;

         if ( $request_method = "POST" )
         {
             rewrite / /index.php last;
         }

         if (-f $request_filename)
         {
             break;
         }

         set $full_request_filename $request_filename;

         if (-d $request_filename)
         {
             set $full_request_filename $request_filename/index.html;
         }

         if (!-f $full_request_filename)
         {
             rewrite / /index.php last;
         }
     }

On 24.04.2007, at 15:46, Dmitriy MiksIr wrote:

> Не секрет, что многие используют обработчик 404 для передачи данных  
> в бекенд. Включая меня. Т.е. используется все приблизительно так:
> location / {
>    root /content/cache;
>    error_page 404 = /index.php;
> }
>
> location ~ \.php$ {
>    fastcgi_pass   127.0.0.1:8888;
>    fastcgi_intercept_errors off;
>    fastcgi_index  index.php;
>    fastcgi_param  DOCUMENT_ROOT   $lroot/httpd/www;
>    fastcgi_param  SCRIPT_FILENAME $lroot/httpd/www 
> $fastcgi_script_name;
>    fastcgi_param  PATH_TRANSLATED $lroot/httpd/www 
> $fastcgi_script_name;
>    include        conf/fastcgi_params;
> }
>
> Проблему обнуления query_string я нашел как решить в архиве  
> рассылки (хотя решение, имхо, не очень красивое и не особо понятно,  
> зачем вообще нужно обнуление query_string при обработке 404). А вот  
> POST-ить данные не получается... если делают пост на /blablabla/dir  
> то выдает 405, если на  /blablabla/dir/ то ошибки не возникает, но  
> и пост не уходит в бекенд. Можно, конечно, постить на /blablabla/ 
> dir/index.php но в силу некоторых особенностей не хотелось бы так  
> поступать.
> Что еще можно придумать?
>
>



Алексей Бещёков
proforg at maloletka.ru
+7 495 7853149



-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2423 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070424/6365525d/attachment.bin>


More information about the nginx-ru mailing list