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