@kichik91

Как настроить redirect с mod_rewrite с символами =, ' ' и т.д.?

Добрый день!

Имеется ссылка:
http://somesite.ru/category/view/NDgyMA%3D%3D/fDExfA%3D%3D

Надо настроить редирект на:
https://somesite.com/category/view/NDgyMA%3D%3D/fDExfA%3D%3D

Имея такие настройки в htaccess:
RewriteEngine On
RewriteRule /(.*) https://somesite.com/$1 [B,R=permanent,L]


я получаю такую ссылку:
https://somesite.com/category%252fview%252fNDgyMA%253d%253d%252ffDExfA%253d%253d

а надо такую:
https://somesite.com/category/view/NDgyMA%253D%253D/fDExfA%253D%253D

То есть экранируются даже /, это вызывает проблему, данная ссылка содержит знаки =, которые должны быть преобразованы в безопасные символы, а вот слэши нет
  • Вопрос задан
  • 2192 просмотра
Решения вопроса 1
@kichik91 Автор вопроса
Ответ, конфиг:

Options +FollowSymLinks

RewriteEngine On
RewriteCond %{THE_REQUEST} \ (/[^\ ]*)\  [NC]
RewriteRule /(.*) https://somesite.com/%1 [NE,R=301,L]


Попытки использовать другие переменные или флаги увенчались провалом, происходило второе кодирование или происходило декодирование, получение из THE_REQUEST дало возможность вставить ссылку "как есть" и использование флага NE позволило запретить декодировать строку.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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