Fwd: rewrite rule

Stepanov Dmitriy dmitriy.st1964 на yandex.ru
Пн Апр 2 07:41:59 UTC 2012


Физически директории /stuff/ не существует
Нужно чтобы по http://example.ru/stuff/?somerequest  запрос уходил на приложение, запущенное по http://12.34.56.78:1088. Без конструкции if всё работет, пробовал через location, но тогда не выполняется нужное мне перенаправление на index.php

>  Если я правильно понял и нужно проксировать весь /stuff/, то:
>
>  location ~* /stuff / {
>            proxy_pass   http://12.34.56.78:1088;
>        }

30.03.2012, 15:08, "Stepanov Dmitriy" <dmitriy.st1964 на yandex.ru>:

>>  Есть работающая конструкция, понадобидось ввести проксирование
>>
>>  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