У меня есть проблема с .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-адреса, и все работает нормально, поскольку URL-адрес REQUEST_URI по умолчанию декодируется в 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, что он должен либо расшифровать URL-адрес QUERY_STRING, либо использовать полный запрошенный URL-адрес (как с кодированием, так и с кодированием), включая часть после вопросительного знака
Заранее спасибо!
Ура