У меня проблема с .htaccess и QUERY_STRING.
Я пытаюсь перенаправить URL с моим htaccess, который выглядит следующим образом:
http://mydomain.tld/out/http%3A%2F%2Fotherdomain.tld%3Fparam%3D0
до
http://otherdomain.tld?param=0
Я использую RewriteCond и RewriteRule с REQUEST_URI для перенаправления URL-адреса, и все работает отлично, так как REQUEST_URI по умолчанию url-кодируется в htaccess.
Однако, когда я отправляю ссылку на Hotmail по электронной почте, URL-адрес Hotmail кодирует косую черту и знак вопроса. Результат выглядит так:
http://mydomain.tld/out/http%3A//Fotherdomain.tld?param%3D0
Таким образом, htaccess берет ссылку и пытается ее перенаправить, но из-за вопросительного знака htaccess "думает", что все, что стоит за вопросительным знаком, является QUERY_STRING.
Проблема: apache2 не кодирует QUERY_STRING. Так что же происходит, что htaccess перенаправляет на
http://otherdomain.tld?param%3D0
, который потерпит неудачу.
Итак, мой вопрос:
Как я могу сказать htaccess либо urldecode QUERY_STRING, либо использовать полный запрошенный url (либо urlendcoded, либо urldecoded), включая часть после знака вопроса
Заранее спасибо!
Приветствия