Страницы

Поиск по вопросам

пятница, 26 октября 2018 г.

Почему съедает слеш в скобочной группе регулярного выражения?

.htaccess
RewriteRule ^activation-account/(.+)/login([a-zA-Z0-9_]+)$ web/index.php?r=registration/activation-register/activation&key_active=$1&key_login=$2 [L]
Переходим по ссылке http://myhost//activation-account/$2y$10$Xl40W/SKTOXYcxfCxGszr.9tbd//lNJSVJTpBh4umjWf/9GNMSlJy/loginfiko
Ловим переменную в php key_active
Она возвращает: $2y$10$Xl40W/SKTOXYcxfCxGszr.9tbd/lNJSVJTpBh4umjWf/9GNMSlJy
То есть на этом промежутке 9tbd/l убирается слеш а должно быть так 9tbd//l


Ответ

Вот рабочий вариант редиректа для Apache:
RewriteEngine On RewriteCond %{REQUEST_URI} ^/*activation-account/(.+)/login(\w+)$ RewriteRule .* web/index.php??r=registration/activation-register/activation&key_active=%1&key_login=%2 [L]
В переменных запроса он ни чего не имеет против двойного слеша.
UPD + мой ответ на вопрос: Как сделать всё и сразу в mod_rewrite?

Комментариев нет:

Отправить комментарий