<br><br><div class="gmail_quote">27 апреля 2010 г. 16:56 пользователь Sergey Shepelev <span dir="ltr"><<a href="mailto:temotor@gmail.com">temotor@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2010/4/27 -=HaRius=- <<a href="mailto:rh@nobrend.ru">rh@nobrend.ru</a>>:<br>
<div class="im">> хм...<br>
><br>
> server {<br>
> ...<br>
> location / {<br>
> ...<br>
> proxy_intercept_errors off; # явно, если on - 404 явная nginx'а страница<br>
> error_page 404 =200 /404; # firebug все равно показывает 404<br>
> ...<br>
> }<br>
> }<br>
><br>
<br>
</div>У вас нет location = /404.<br>
<br>
То есть вы хотите, чтобы при 404 от бекенда, nginx лез опять к бекенду<br>
с урлом /404 и вернул ответ как 200 ОК?<br>
<br>
То есть ту страницу, которую бекенд первый раз отдаёт с кодом 404 вы<br>
хотите просто проигнорировать? Не проще ли сразу вернуть там нужный<br>
контент?<br>
<div><div></div><div class="h5"><br>
> 27 апреля 2010 г. 15:49 пользователь Igor Sysoev <<a href="mailto:igor@sysoev.ru">igor@sysoev.ru</a>> написал:<br>
>><br>
>> On Tue, Apr 27, 2010 at 06:29:27AM -0400, harius wrote:<br>
>><br>
>> > в связи с модернизацией движка сайта нужно отвечать поисковика 200 на<br>
>> > запрошенную старую ссылку.<br>
>> > вроде все просто, смотрим в доку и пишем:<br>
>> ><br>
>> > error_page 404 =200 /404; # /404 - урл отдает спец страничку с<br>
>> > кодом 200<br>
>> ><br>
>> > интегрируем в конфиг:<br>
>> ><br>
>> > limit_zone myzone $binary_remote_addr 10m;<br>
>> > proxy_cache_path /home/xxx/domains/xxx/cache/proxy levels=1:2<br>
>> > keys_zone=static:250m;<br>
>> > proxy_cache_path /home/xxx/domains/xxxx/cache/maps/jams levels=2:2<br>
>> > keys_zone=jams:250m inactive=15m;<br>
>> ><br>
>> > server {<br>
>> > listen xxx:80;<br>
>> > server_name xxx;<br>
>> ><br>
>> > limit_conn myzone 10;<br>
>> ><br>
>> > access_log /var/log/nginx/domains/xxx.log combined;<br>
>> ><br>
>> > charset utf-8;<br>
>> ><br>
>> > set $tile_root /home/xxx/domains/xxx/cache/maps/tiles;<br>
>> > set $proxied_uri <a href="http://xxx" target="_blank">http://xxx</a>;<br>
>> > set $xmlrpc_proxied_uri <a href="http://xxx/points" target="_blank">http://xxx/points</a>;<br>
>> > set $editpoints_proxied_uri <a href="http://xxx/poimanager" target="_blank">http://xxx/poimanager</a>;<br>
>> ><br>
>> > location ~* .*\/map\/navitms.fcgi$ {<br>
>> > set $fcgi_uri $uri;<br>
>> ><br>
>> > if ($args ~*<br>
>> > "^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})$")<br>
>> > {<br>
>> > set $tile_path $1/$5/$2/$6/$3/$7/$4/$8/$9.png;<br>
>> > rewrite ^.*$ /map/tiles/$tile_path last;<br>
>> > }<br>
>> > if ($args ~* "^(j=[0-9]{8},[0-9]{8},[0-9]{2})(,[0-9]+)?$") {<br>
>> > set $args $1;<br>
>> > rewrite ^.*$ /map/jams/ last;<br>
>> > }<br>
>> ><br>
>> > return 404;<br>
>> > }<br>
>> ><br>
>> > location ~ (.*/img/poi/).*\.gif$ {<br>
>> > root /home/xxx/domains/xxx/html;<br>
>> > try_files $uri $1/1.gif =404;<br>
>> > }<br>
>> ><br>
>> > location /navitel/theme/navitel {<br>
>> > root /home/xxx/domains/xxx/html/map;<br>
>> > }<br>
>> ><br>
>> > location /map {<br>
>> > index manage.html;<br>
>> > root /home/xxx/domains/xxx/html;<br>
>> > }<br>
>> ><br>
>> > location /map/points {<br>
>> > proxy_cache off;<br>
>> > proxy_pass $xmlrpc_proxied_uri?$args;<br>
>> > }<br>
>> ><br>
>> > location /map/poimanager {<br>
>> > proxy_cache off;<br>
>> > proxy_pass $editpoints_proxied_uri?$args;<br>
>> > }<br>
>> ><br>
>> > location @proxy_tiles {<br>
>> > proxy_pass $proxied_uri$request_uri;<br>
>> > proxy_store_access user:rw group:rw;<br>
>> > proxy_store $tile_root/$tile_path;<br>
>> > }<br>
>> ><br>
>> > location ^~ /map/tiles/ {<br>
>> > internal;<br>
>> > alias $tile_root/;<br>
>> > if_modified_since before;<br>
>> > try_files $uri @proxy_tiles;<br>
>> > }<br>
>> ><br>
>> > location = /map/jams/ {<br>
>> > internal;<br>
>> > proxy_cache_valid 200 302 5m;<br>
>> > proxy_cache jams;<br>
>> > proxy_pass $proxied_uri$fcgi_uri?$args;<br>
>> > }<br>
>> ><br>
>> > location / {<br>
>> > proxy_pass <a href="http://localhost:8080" target="_blank">http://localhost:8080</a>;<br>
>> > proxy_redirect off;<br>
>> > proxy_set_header Host $host;<br>
>> > proxy_set_header X-Real-IP $remote_addr;<br>
>> > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>
>> > client_max_body_size 500m;<br>
>> > # error_page 404 = /404; # все равно выдает 404 код<br>
>><br>
>><br>
>> <a href="http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors" target="_blank">http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors</a><br>
>><br>
>><br>
>> --<br>
>> Игорь Сысоев<br>
>> <a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
>><br>
>> _______________________________________________<br>
>> nginx-ru mailing list<br>
>> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
>> <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
><br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br>