, что %3D
было удалено модулем
Я думаю, вы обнаружите, что это %3
, который удаляется, а не %3D
. %3
рассматривается как обратная ссылка на предыдущее условие, которое, как я подозреваю, не существует, поэтому заменяется пустой строкой в подстановке . (Это не было бы проблемой для Redirect
, поскольку %N
обратные ссылки не являются чем-то особенным для mod_alias.)
Вам необходимо backsla sh экранировать %
, чтобы представить литерал %
в строке подстановки , чтобы отрицать ее особое значение в этом случае.
Затем вам понадобится флаг NE
на RewriteRule
, чтобы запретить саму %
будучи закодированным URL-адресом (как %25
) в ответе (по существу, кодирование значения параметра URL-адреса вдвойне).
Например:
RewriteRule ^foo$ http://test.com/blabla?key=blablabla1287961\%3D [NE,R=302,L,E=OUTLINK:1]
У меня есть несколько похожих перенаправлений, и я нужно «глобальное решение»
Что касается «глобального решения», то на сервере нет переключателя magi c, который можно было бы «исправить». Вам нужно изменить каждую директиву, где возникает этот конфликт .