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