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 все работает ровно..