ПРОЕКТЫ 


  АРХИВ 


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 404 403 =200 /index.php; выдаёт 200 но не index.php :(


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: error_page 404 403 =200 /index.php; выдаёт 200 но не index.php :(
  • From: "Alexey Karagodov" <karagodov@xxxxxxxxx>
  • Date: Mon, 24 Sep 2007 21:25:54 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; bh=Xp9EU98QKBsvQe0WNASfEfuLSkj2eoQZXNYPMI0Mux8=; b=jDqL0nA/fWEaqMScCYIm2oKryO9pcypmfBK9yueqx4LG05/UjxTgKlbS9xj4KXn+PwQe8R3Ik7c19hcdURzlG8+P0kar+cwzZDmO4F9ijsqyXEyaK004bniejmFxdNOBCxfC0V1bceMviejc/gYgQAypB2b3I1nPVgH5estL6vE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=cKbMUns9wgQLe4UaBGaEgfh6qBdNS86ziaPZLv3gt1pZOYtTrxohCppB0NEwL/2uQ6+G0u4tvZ+Ae76OnldJB6vyxjMW0qrxgUoEEk3jgqOQFu77jxvHY3jLZu+CLRWksjgrKV2VnYvYvYeSZW41Xn0YYv7A3I94oxFiN04gw2k=
  • In-reply-to: <4a4b51fd0709240956y68655d90r1b0aac7a3e8689fa@xxxxxxxxxxxxxx>
  • References: <4a4b51fd0709240956y68655d90r1b0aac7a3e8689fa@xxxxxxxxxxxxxx>

сталкивался с подобным: решение: 
                location                        /FAILURE {
                        internal;
                        proxy_set_header                Host                            $host;
                        proxy_set_header                X-Real-IP                       $remote_addr;
                        proxy_set_header                X-Forwarded-For                 $proxy_add_x_forwarded_for;
                        #$remote_addr;
#                       proxy_redirect                  false;
                        proxy_redirect                   http://localhost/index.html     http://$host/index.html;
                        proxy_pass                      http://localhost/index.html;
                }

                location                        /MISSING {
                        internal;
                        rewrite                         ^(.*)                           http://$host/           break;
                }

ключевле слово - internal 
и в самом конце server/location указываю error_page какой мне надо 
2007/9/24, Name Last name < deepmindster@xxxxxxxxx>:
Доброго времени суток.

error_page 404 403 =200 /index.php;

location / {
  root /some/path/;
  index index.php;
}

запрос: http://web1.server/something

судя по заголовкам, эта конструкция выдаёт ответ HTTP/1.x 200 OK

Но браузер показывает страничку Not found.

Что странно, поскольку хотелось добиться показа индексной странички в случае 403 и 404.

Желаемого результата удалось добится написав error_page 403 404 =200 http://web1.server/index.php; . Собственно, цель достигнута. Но вопрос остался не до конца ясным: так и должно быть, или, возможно дело в том, что error_page указан до директивы root?

Ниже конфиг для этого сервера.

   server {
        listen       192.168.0.20:80;
        server_name  web1.server;

        rewrite         ^/(.*)/(.*).html$       /view_video.php?viewkey=$1&title=$2 last;
        rewrite         ^/flvideo/flvplayer.swf$        /pl.php last;
        rewrite         "^/(flvideo|thumb|members|la1vc2b4ag3)/(.+)$"      http://media1.server/$1/$2 permanent;

        access_log /var/log/nginx/web1.server.access.log  main;

        error_page 403 404 =200 /index.php;

        location / {
            root        /srv/www/vhosts/server.com;
            index       index.php;
        }

        location /swfs {
            internal;
            root /srv/www/vhosts/server_internal;
        }

        location ~ \.php$ {
            proxy_pass         http://127.0.0.1:80;
            proxy_redirect     off;

            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

            client_max_body_size       506m;
            client_body_buffer_size    128k;

            proxy_connect_timeout      3005;
            proxy_send_timeout         3005;
            proxy_read_timeout         3005;

            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;

        }

        location ~ /\.ht {
            deny all;
        }
    }

Спасибо,
Андрей.

 


 




Copyright © Lexa Software, 1996-2009.