error_page и данные

Dmitriy MiksIr miksir at maker.ru
Tue Apr 24 15:46:54 MSD 2007


Не секрет, что многие используют обработчик 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 но в силу 
некоторых особенностей не хотелось бы так поступать.
Что еще можно придумать?






More information about the nginx-ru mailing list