Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: проблемы с post-запросами в error_page
Игорь,
насколько быстрее такая конструкция?
server {
listen 80;
server_name BBB.ru;
root /home/BBB;
location / {
index index.php;
autoindex off;
if (!-e $request_filename) {
rewrite ^/(.*) /404.php?$query_string;
}
}
location ~* ^.+\.(php)$ {
include /home/storage/node/conf/freebsd/nginx/fastcgi.conf;
}
}
Sunday, February 1, 2009, 11:47:04 PM, you wrote:
> 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;
> }
Arkadiy Kulev mailto:eth@xxxxxxxxxxxx
+7 495 5070602
Moscow, Russia
|