Re: Проблема с RewriteCond можно ли использовать регулярки в условиях?
Halfi
nginx-forum на nginx.us
Чт Окт 28 03:04:31 MSD 2010
Sergey Shepelev Пишет:
-------------------------------------------------------
> http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if
>
> > сравнение переменной со строкой с
помощью операторов "=" и "!=";
>
> И не должна тут работать регулярка.
>
> Вообще оператор равенства
> с регекспами хоть где-то
> используется?
Сами бы повнимательнее мануал
прочитали, следующий пункт, идущий за
тем, который вы мне процитировали
гласит о следующем:
проверка переменной с помощью
регулярного выражения без учёта
регистра символов — "~*" и с учётом — "~".
В регулярных выражениях можно
использовать выделения, которые затем
доступны в виде переменных $1 — $9. Также
можно использовать отрицательные
операторы "!~" и "!~*". Если в регулярном
выражении встречаются символы "}" или ";",
то всё выражение нужно заключить в
одинарные или двойные кавычки.
У меня получился такой вариант, но
видимо я не допонимаю в условии:
[code]
if ($http_host ~ ^/(([-_a-zA-Z0-9/]+)([-_a-zA-Z0-9]+))$) {
rewrite ^(.*)$ $1/ permanent;
}
[/code]
Не работает, перепробовал много
вариантов, в кавычках, без них.. В htaccess
все работает ровно..
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,145111,145121#msg-145121
Подробная информация о списке рассылки nginx-ru