Редирект любого request uri в корень
petbka
nginx-forum at nginx.us
Sun Dec 23 05:20:02 UTC 2012
Добрый день.
Имеется такая конфигурация:
server {
listen 1.1.1.1:80;
server_name my.example.com;
rewrite ^ https://my.example.com$request_uri? permanent;
}
server {
listen 1.1.1.1:443;
server_name my.example.com;
ssl on;
ssl_certificate /etc/nginx/ssl/my.crt;
ssl_certificate_key /etc/nginx/ssl/my.key;
server_name_in_redirect on;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8082;
...
location /i/ {
root /usr/local/www/secure/public_html;
}
но порой требуется поставить "заглушку", делаетcя это так:
location / {
# proxy_pass http://127.0.0.1:8082;
# ...
root /var/www/my.example.com/public_html/maintenance/;
index index.html;
}
Заглушка работает при запросе корня, но не обрабатываются запросы с
request_uri, например, https://my.example.com/ru/news?id=24. Получаем в
ответ 404, что логично. Пробую такую конструкцию в server:
if ($request_uri != "") {
rewrite ^.* https://my.example.com/ redirect;
break;
}
получаю цикличный 302 и в конце концом "Internal error".
Вопрос: как описать редирект любого запроса на "заглушку"?
Заранее спасибо.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,234356,234356#msg-234356
Подробная информация о списке рассылки nginx-ru