好了,所以我有这样一个网址:htaccess的查询字符串重定向
http://example.com/admin/login.php?redirect=test.php%3Faction%3Dedit%26id%3D2
:
http://example.com/admin/test.php?action=edit&id=2
不过,我需要在规则添加到该用的查询字符串这样重定向到另一个网址
我加了这样一条规则:
RewriteRule ^admin/(.*)?$ /login.php?redirect=/admin/$1?%{QUERY_STRING} [R,L]
和它的作品大部分,但有一个问题,查询字符串是不是被逃脱,所以它认为这些是其他$ _GET变量。它看起来像这样:
http://example.com/admin/login.php?redirect=test.php%3Faction=edit&id=2
所以重定向读为test.php的行动=编辑?它缺少id = 2,因为它将它读为另一个$ _GET变量,而不是$ _GET ['redirect']的一部分。
是否可以转义%{QUERY_STRING}?我搜索了所有我能想到的东西,并且无法在任何地方找到答案。
你在哪里重定向,因为你可能想添加诸如'location(“header:login.php?”。encodeuri(current url));'到你的重定向页面。然后,如果重定向参数发送和登录是好的使用头decodeuri(重定向) – Class
我没有选择这样做。我在wordpress中工作,它会自动发送一封电子邮件。所以它发送的URL,但我需要重定向它登录与重定向作为参数。 – ngreenwood6