Как проверить кодированный ИЛИ не кодированный символ в строке запроса с помощью mod_rewrite - PullRequest
0 голосов
/ 03 февраля 2012

Я хочу, чтобы правила mod_rewrite для строки запроса ?:hizzah=blah перенаправлялись на brouahaha.html

Я пытался это сделать:

RewriteCond %{QUERY_STRING} :hizzah=blah
RewriteRule .* brouahaha.html

Обратите внимание на двоеточие перед hizzah.

Проблема: это не работает, если двоеточие закодировано.то есть example.com?:hizzah=blah работает, но example.com?%3Ahizzah=blah нет.

Я знаю, что двоеточие, вероятно, плохая идея, потому что это зарезервированный символ, но пока не подлежит обсуждению.Это должно быть так.

Какой самый чистый способ mod_rewrite, позволяющий двоеточию быть простым или закодированным?

1 Ответ

0 голосов
/ 03 февраля 2012

Попробуйте

RewriteCond %{QUERY_STRING} (:|\%3A)hizzah=blah [NC]
RewriteRule ^ brouahaha.html [L]
...