Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: проблемы с post-за просами в error_page
On Sun, Feb 01, 2009 at 06:29:18PM +0300, Arkadiy Kulev wrote:
> Hello Nginx-ru,
>
> У меня следующий проблема - все адреса на моем сайте обрабатываются
> через error_page (ну чтобы в конфиге много rewrite не писать, я
> обрабатываю их через php).
>
> Сегодня я решил перейти на nginx и обнаружил следующую странность -
> POST запросы не передаются в скрипт, указанный в error_page.
>
> Если же я обращаюсь к скрипту напрямую, то все впорядке. Если же на
> другой адрес (который впоследствии через error_page выходит на
> скрипт), то POST запрос пропадает.
>
> nginx 0.6.35, конфиг внизу. В чем может быть проблема?
>
>
> server {
> listen 888;
> server_name *.BBBBBB.ru;
> root /home/BBBBBB;
>
> error_page 404 = /404.php?$query_string;
>
> location / {
> index index.php;
> autoindex off;
> rewrite ^/$ /404.php?$query_string;
> }
>
> location ~* ^.+\.(php)$ {
> include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
> }
>
> }
error_page превращает GET в POST. Нужно что-то вроде этого (из
/home/storage/node/conf/freebsd/nginx/fastcgi.conf нужно убрать
SCRIPT_FILENAME):
root /home/BBBBBB;
location / {
index index.php;
error_page 404 = @404;
# default
#autoindex off;
}
location ~* \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$uri;
include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
}
location = / {
fastcgi_param SCRIPT_FILENAME $document_root/404.php;
include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
}
location @404 {
fastcgi_param SCRIPT_FILENAME $document_root/404.php;
include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
}
--
Игорь Сысоев
http://sysoev.ru
|