Re: не работает error page ?
Андрей Василишин
a.vasilishin на kpi.ua
Вт Апр 27 16:45:26 MSD 2010
-=HaRius=- пишет:
> хм...
>
> server {
> ...
> location / {
> ...
> proxy_intercept_errors off; # явно, если on - 404 явная nginx'а страница
> error_page 404 =200 /404; # firebug все равно показывает 404
> ...
> }
> }
>
> 27 апреля 2010 г. 15:49 пользователь Igor Sysoev <igor на sysoev.ru
> <mailto:igor на sysoev.ru>> написал:
>
> On Tue, Apr 27, 2010 at 06:29:27AM -0400, harius wrote:
>
> > в связи с модернизацией движка сайта нужно отвечать поисковика
> 200 на запрошенную старую ссылку.
> > вроде все просто, смотрим в доку и пишем:
> >
> > error_page 404 =200 /404; # /404 - урл отдает спец
> страничку с кодом 200
> >
> > интегрируем в конфиг:
> >
> > limit_zone myzone $binary_remote_addr 10m;
> > proxy_cache_path /home/xxx/domains/xxx/cache/proxy levels=1:2
> keys_zone=static:250m;
> > proxy_cache_path /home/xxx/domains/xxxx/cache/maps/jams
> levels=2:2 keys_zone=jams:250m inactive=15m;
> >
> > server {
> > listen xxx:80;
> > server_name xxx;
> >
> > limit_conn myzone 10;
> >
> > access_log /var/log/nginx/domains/xxx.log combined;
> >
> > charset utf-8;
> >
> > set $tile_root /home/xxx/domains/xxx/cache/maps/tiles;
> > set $proxied_uri http://xxx;
> > set $xmlrpc_proxied_uri http://xxx/points;
> > set $editpoints_proxied_uri http://xxx/poimanager;
> >
> > location ~* .*\/map\/navitms.fcgi$ {
> > set $fcgi_uri $uri;
> >
> > if ($args ~*
> "^t=([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}),([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}),([0-9]{2})$")
> {
> > set $tile_path $1/$5/$2/$6/$3/$7/$4/$8/$9.png;
> > rewrite ^.*$ /map/tiles/$tile_path last;
> > }
> > if ($args ~* "^(j=[0-9]{8},[0-9]{8},[0-9]{2})(,[0-9]+)?$") {
> > set $args $1;
> > rewrite ^.*$ /map/jams/ last;
> > }
> >
> > return 404;
> > }
> >
> > location ~ (.*/img/poi/).*\.gif$ {
> > root /home/xxx/domains/xxx/html;
> > try_files $uri $1/1.gif =404;
> > }
> >
> > location /navitel/theme/navitel {
> > root /home/xxx/domains/xxx/html/map;
> > }
> >
> > location /map {
> > index manage.html;
> > root /home/xxx/domains/xxx/html;
> > }
> >
> > location /map/points {
> > proxy_cache off;
> > proxy_pass $xmlrpc_proxied_uri?$args;
> > }
> >
> > location /map/poimanager {
> > proxy_cache off;
> > proxy_pass $editpoints_proxied_uri?$args;
> > }
> >
> > location @proxy_tiles {
> > proxy_pass $proxied_uri$request_uri;
> > proxy_store_access user:rw group:rw;
> > proxy_store $tile_root/$tile_path;
> > }
> >
> > location ^~ /map/tiles/ {
> > internal;
> > alias $tile_root/;
> > if_modified_since before;
> > try_files $uri @proxy_tiles;
> > }
> >
> > location = /map/jams/ {
> > internal;
> > proxy_cache_valid 200 302 5m;
> > proxy_cache jams;
> > proxy_pass $proxied_uri$fcgi_uri?$args;
> > }
> >
> > location / {
> > proxy_pass http://localhost:8080;
> > 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 500m;
> > # error_page 404 = /404; # все равно выдает 404 код
>
> http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors
>
>
Покажите, где у Вас в конфиге описан локейшн location /404 { root... } ?
--
WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE
Подробная информация о списке рассылки nginx-ru