nginx-0.8.31
Igor Sysoev
igor на sysoev.ru
Ср Дек 23 20:16:49 MSK 2009
On Wed, Dec 23, 2009 at 06:52:54PM +0300, Igor Sysoev wrote:
> *) Добавление: теперь директива error_page может перенаправлять ответы
> со статусом 301 и 302.
Возможные сценарии использования:
1) меняем тело проксированного ответа:
location / {
...
proxy_intercept_errors on;
error_page 301 302 /redirect.html;
}
location = /redirect.html {
internal;
add_header Location $upstream_http_location;
add_header Set-Cookie $upstream_http_set_cookie;
}
2) добавляем ссылку в тело обычных редиректов:
location / {
...
error_page 301 302 /redirect.html;
}
location = /redirect.html {
internal;
ssi on;
}
/redirect.html:
<html>
...
<a href="<!--# echo var="sent_http_location" -->"
><!--# echo var="sent_http_location" --></a>
...
</html>
3) обработка редиректов в image filter:
location / {
...
image_filter ...
proxy_intercept_errors on;
error_page 301 302 = @redirect;
}
location @redirect {
image_filter ...
set $redirect $upstream_http_location;
proxy_pass $redirect;
}
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru