2013-12-11 2 views
1

У меня есть входящая ссылка на мой сайт с% 00 после расширения .html.URL-адрес перенаправления с символом% с использованием перезаписи в htaccess

Пример: /directory/example.html%00

Я хотел бы, чтобы перенаправить этот адрес с помощью Htaccess для

/directory/example.html

Благодаря знаком% я имею проблемы с этим перенаправлением.

В htaccess это не работает из-за знака%.

RewriteRule ^directory/example\.html%00$ /directory/example\.html [R=301,L] 

Я попытался убежать от знака% \ сперва.

Я искал в Интернете об этом, и я все еще борется. Возможно, сначала должно быть выполнено условие перезаписи? Поскольку% 00 является специальным символом (нулевой шестнадцатеричный код), apache не имеет возможности переписать его?

ответ

1

Вы можете видеть из this question и RFC 3986, что символ «%» недопустим в URL-адресе, если он не отображается в строке запроса URL-адреса (после разделителя??). Ваш RewriteRule будет правильным, однако запрос никогда не достигнет вашего сайта, так как URL-адрес недействителен. То же самое происходит, если «% 00» на самом деле не буквальная строка, а символ [NUL] (так как это также неверно в URL-адресе).

Смежные вопросы