.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?
Комментариев нет:
Отправить комментарий