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