rewrite

Igor Sysoev is at rambler-co.ru
Tue Jan 18 22:23:10 MSK 2005


On Tue, 18 Jan 2005, Alexey Bestciokov wrote:

> спасибо, разобрался.
> жалко что это всё нельзя прописывать внутри location :)

Пока нельзя.

> возник второй вопрос - при такй схеме в REQUEST_URI передается
> index.php, а не оригинальная строка запроса.
> соответсвенно определить оригинальный путь из пхп не получается ...
>
> Это ошибка у меня в настройке или всё так и должно работать ?
> пхп собран с enable-force-cgi-redirect

Именно так и работает. А в Апаче, насколько я понимаю, передаётся
оригинальынй URI ? Cкорее всего - да, так как там mod_rewrite переписывает
r->filename, а не r->uri.

Исправлю.

> IS> On Tue, 18 Jan 2005, Alexey Bestciokov wrote:
>
>>> Псоле появления поддержки fcgi тут же появились глупые вопросы по
>>> реврайту :)
>>> Подскажите пожалуйста, как делать редирект всего кроме некоторых
>>> файлов / каталогов на index.php ?
>>>
>>> в апачевском мод реврайте можно было написать например
>>> RewriteRule ^image/(.*) - [L]
>>> RewriteRule ^(.*) index.php
>>>
>>> как это делать в nginx ?
>
> IS> Именно этот вариант можно так (с помщью отрицательного regexp'а):
>
> IS>       server {
> IS>            rewrite_rule  ^(?!/images/).*  /index.php;
>
> IS>            location /index.php {
> IS>                fastcgi_pass  ...
> IS>                fastcgi_root  ...
> IS>            }
>
> IS>            location /images/ {
> IS>                root  ...
> IS>            }
>
>
> IS> Для отладки можно использовать
> IS>      rewrite_log  on;
> IS> процесс переписывания пишется на уровне notice.


Игорь Сысоев
http://sysoev.ru


More information about the nginx-ru mailing list