Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Nginx + rewrite
цитата
23/01/08 в 22:28
 wMaster
Не могу понять в чем дело.. есть урл такого вида http://www.domain.com/username/dir1/dir2
C помошью rewrite правила нужно его преобразовать к виду http://www.domain.com/index.php?username/dir1/dir2, но пропустить в случае если запрос уже идет в виде http://www.domain.com/?username/dir1/dir2, а также пропустить все урлы с запросом файлов http://www.domain.com/username/dir1/dir2/file.ext

Пишу правило на уровне сервера
server {
...
rewrite ^/([^\?\.]*)$ /index.php?/$1 last;

... но упорно продолжает перехватывать http://www.domain.com/?username/dir1/dir2.

Хотя при тестах в php:
preg_match('/^\/([^\?\.]*)$/i', '/username/dir1/dir2', $matches);
preg_match('/^\/([^\?\.]*)$/i', '/?username/dir1/dir2', $matches);
preg_match('/^\/([^\?\.]*)$/i', '/username/dir1/dir2/file.ext', $matches);
все прекрасно игнорируется где нужно, и совпадает где нужно.


Эта страница в полной версии