rewrite и location (apach => nginx)

cul8er nginx-forum на nginx.us
Чт Апр 7 12:08:56 MSD 2011


Помогите разобраться с конфигом nginx'a. 
Пришлось отказаться от apache вообще и
возникли некоторые трудности.

Вот файл .htaccess
RewriteEngine  on
RewriteBase    /scripts/
RewriteRule ^$ /scripts/
RewriteRule ^([a-z0-9_]+).php(.*)$ /scripts/$1.php$2


Вот что делал:
location / {
rewrite ^([a-z0-9_]+).php(.*)$ /scripts/$1.php$2 break;
}

При переходе на адрес sayt.ru/index.php
редиректит на
http://sayt.ru/home/sayt/www/scripts/home/sayt/www/scripts/home/sayt/www/scripts/

Еще было так
rewrite ^(.*)$ /scripts/$1 break;
В таком случае работал только index.php , а
все ссылки на директории выше не
работали (в которых расположены css , images
etc), а другие скрипты из директории scripts
выдавали "No input file specified."

Ну и последний способ был:
location ~* \.(php)$ {
alias /scripts/;
}

Задача банальная, перенаправлять все
запросы с файлами php на директорию scripts.
При этом пользователь видит в строке
браузера http://sayt.ru/file.php, а не
http://sayt.ru/scripts/file.php

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,189041,189041#msg-189041




Подробная информация о списке рассылки nginx-ru