Редирект любого 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