Задать вопрос
@aliasst

Как сделать редирект закодированного URL через htaccess?

Есть закодированный URL, где все спецсимволы заменены на знак процента с цифрой:
site.ru/%3Fs%3Dsanivite%26post_type%3Dproduct%26type_aws%3Dtrue?_openstat=dGVzdDsxOzE7

Как через htaccess сделать редирект на этот же урл, только в нормальном виде (со спецсимволами)?
  • Вопрос задан
  • 278 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
@dodo512
RewriteEngine on

RewriteCond %{THE_REQUEST} ^\S+\s/%3F [NC]
RewriteRule .* /$0 [R=301,L,QSA]


В переменной %{THE_REQUEST} хранится первоначальная строка запроса целиком:
GET /%3Fs%3Dsanivite%26post_type%3Dproduct%26type_aws%3Dtrue?_openstat=dGVzdDsxOzE7 HTTP/1.1

Шаблон ^\S+\s/%3F ловит все адреса начинающиеся с /%3F
На вход RewriteRule поступает строка уже после декодирования последовательностей %XX
?s=sanivite&post_type=product&type_aws=true
Флаг QSA позволяет не потерять _openstat=dGVzdDsxOzE7 и в итоге редирект будет на адрес:
/?s=sanivite&post_type=product&type_aws=true&_openstat=dGVzdDsxOzE7
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы