ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rewrite rules. help pls.


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: rewrite rules. help pls.
  • From: Роман Москвитин <nefer05@xxxxxxxxx>
  • Date: Tue, 11 Jun 2013 11:26:55 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=TDTrl0YmdFvqYpF/vU02dW2TXV8QGeT/FGtKOq2TIqc=; b=oU2SMbi6t2+2BRDhDr627wdOs5mhE6UKgVzSClgHb/HEHGFqFlCqAdsTcB82u3JnMm T2ZtiEzDwKITrc8laQ7iGRHOfo/GwAuDsJGatojwiyKJhEsrd8qUh9kHnLapKXbxahii 2H+e0HjqI91/Uj3ULLRhSqk558W7uw+kyE3ukcQPkK4FaVEu6E0hV0OfaPMy8W7tCQlt b+br/Ifx/Dc2K51etl+P6i1g8614DjhWL9YqfXcahMAVhngTnv8kq0hJHtFaABPWaoAh SNC8rLwiJrMz2nFFZCHK17VzlEeTaYJYvruI1rdNSeBmbA7GR3YgxFh/LrIAFeswS2Fv fQsA==
  • In-reply-to: <16810052105.20130611105025@etherway.ru>
  • References: <909149428.20130610122313@etherway.ru> <20130610101355.GQ72282@mdounin.ru> <16810052105.20130611105025@etherway.ru>

В документации же все описано. И ошибка вполне хорошо показывает где проблема. Вместо рута тут надо алиас указать.


2013/6/11 Andrey Ermishin <eas@xxxxxxxxxxx>
Здравствуйте, Maxim.

Вы писали 10 июня 2013 г., 14:13:55:

MD> Hello!

MD> On Mon, Jun 10, 2013 at 12:23:13PM +0400, Andrey Ermishin wrote:

>> Уважаемые all.
>>
>> Пытаюсь мигрировать в apache на Nginx.
>>
>> nginx установлен вместе с php5-fpm.
>>
>> Возникла проблема с переносом правил для rewrite.
>>
>> На апаче правила выглядят так:
>>
>> RewriteEngine On
>> RewriteCond %{REQUEST_URI} /playlist\.xspf
>> RewriteRule (.*) channels.php [L,QSA]
>>
>> на nginx пробую такую конструкцию:
>>
>> server {
>>     ...
>>     location /eltex {
>>         rewrite /playlist\.xspf /eltex/channels.php break;
>>     }
>>     ...
>>     location ~ \.(php)$ {
>>         ...
>>         fastcgi_pass   php_backends;
>>         ...
>>     }
>>     ...
>> }
>>
>>
>> Собственно  говоря в этом случае channels.php не выполняется, а просто
>> отдается содержимое скрипта.

MD> Во-первых, rewrite у вас не имеет шанса сработать, т.к. запрос
MD> "/playlist.xspf" не имеет шансов попасть в location /eltex.

MD> Во-вторых, даже если бы он сработал - запрос после "rewrite ...
MD> break" обрабатывается в том же location, где был сделан rewrite.
MD> А там у вас, судя по всему, никакого fastcgi_pass нет.  Если нужно
MD> выбрать другой location - правильнее всего написать "rewrite ..
MD> last".

MD> Подробная документация есть тут:

MD> http://nginx.org/r/location/ru
MD> http://nginx.org/r/rewrite/ru

>> Если же в backend добавляю     location ~ \.(php|xspf)$
>> то вообще error ~404

MD> Что опять же ожидаемо, ибо файла /playlist.xspf у вас, судя по
MD> всему, нет.

>> Что делать? как правильно составить конфигурацию для nginx?

MD> Совсем правильно как-то так:

MD>     location = /playlist.xspf {
MD>         fastcgi_pass php_backends;
MD>         fastcgi_param SCRIPT_FILENAME
MD> $document_root/eltex/channels.php;
MD>         include fastcgi_params;
MD>     }



Спасибо разобрался.
Теперь новая засада (что бы не плодить топики).

В апаче была такая конфигурация сервера:

Alias /dns /srv/http/dns/html

<Directory /srv/http/dns/html>
        Options All
        DirectoryIndex index.php

</Directory>

Переношу ее в nginx

location ^~ /dns/ {
        root /srv/http/dns/html/;
        access_log       /srv/http/dns/logs/access.log;
        error_log       /srv/http/dns/logs/error.log;
}

в итоге при обращении http://url/dns/
получаю ошибку в еррор лог:
2013/06/11 10:46:23 [error] 11962#0: *5 open() "/srv/http/dns/html/dns/index.php" failed (2: No such file or directory)

что не так?





--
Ермишин Андрей
Руководитель департамента
управления сети
Оператор связи
ООО "Шупашкартранс-К"
телефон: (8352) 272008

eas@xxxxxxxxxxx

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.