Welcome! Log In Create A New Profile

Advanced

Re: Проблема с RewriteCond можно ли использовать регулярки в условиях?

Sergey Shepelev
October 27, 2010 07:30PM
2010/10/28 Halfi <nginx-forum@nginx.us>:
> 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
> все работает ровно..
>

Ваш регексп не может быть с пользой применён к $http_host. Представьте
какие варианты строк могут быть в этой переменной и сформулируйте
(писать в рассылку не обязательно) что нужно из этих вариантов
вычленить.
pcretest или миллион других утилит для отладки регекспов в помощь.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Проблема с RewriteCond можно ли использовать регулярки в условиях?

Halfi October 27, 2010 06:02PM

Re: Проблема с RewriteCond можно ли использовать регулярки в условиях?

Sergey Shepelev October 27, 2010 06:12PM

Re: Проблема с RewriteCond можно ли использовать регулярки в условиях?

Halfi October 27, 2010 07:04PM

Re: Проблема с RewriteCond можно ли использовать регулярки в условиях?

Sergey Shepelev October 27, 2010 07:30PM

Re: Проблема с RewriteCond можно ли использовать регулярки в условиях?

Denis Filimonov October 28, 2010 12:22AM

Re[2]: RewriteCond ?

Andrey Repin October 28, 2010 05:52AM

Re: Re[2]: RewriteCond ?

Halfi October 28, 2010 11:13AM

Re: Re[2]: RewriteCond ?

Halfi October 28, 2010 11:29AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 73
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready