Welcome! Log In Create A New Profile

Advanced

Re: rewrite rules. help pls.

Роман Москвитин
June 11, 2013 03:28AM
В документации же все описано. И ошибка вполне хорошо показывает где
проблема. Вместо рута тут надо алиас указать.


2013/6/11 Andrey Ermishin <eas@etherway.ru>

> Здравствуйте, 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@etherway.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

rewrite rules. help pls.

Andrey Ermishin June 10, 2013 04:24AM

Re: rewrite rules. help pls.

Maxim Dounin June 10, 2013 06:14AM

Re: rewrite rules. help pls.

Andrey Ermishin June 11, 2013 02:52AM

Re: rewrite rules. help pls.

Роман Москвитин June 11, 2013 03:28AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 100
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready