rewrite rule

Stepanov Dmitriy dmitriy.st1964 на yandex.ru
Пт Мар 30 12:08:23 UTC 2012


Есть работающая конструкция, понадобидось ввести проксирование

location /stuff / {
            proxy_pass   http://12.34.56.78:1088;
        }

Но данное проксирование не работает из-за if конструкции. Есть ли способ, заметить if на location, что бы выполнялось правило: всё, кроме определённых форматов перенаправлялось на index.php?

server {
        listen       80;
        server_name  www.example.ru;
…
            root   /var/www/site;
            index  index.php;

         if ($request_filename !~* \.(js|txt|gif|jpg|jpeg|png|css|swf|html|xml|xls|php|)$) {
            rewrite ^(.*)$  /index.php;
            }

location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/site$fastcgi_script_name;
            include        fastcgi_params;
         }

location /stuff / {
            proxy_pass   http://12.34.56.78:1088;
        }



Подробная информация о списке рассылки nginx-ru