ПРОЕКТЫ 


  АРХИВ 


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: error_page и данны е



постить на /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@xxxxxxxxxxxx
+7 495 7853149



Attachment: smime.p7s
Description: S/MIME cryptographic signature



 




Copyright © Lexa Software, 1996-2009.