好了,所以我有這樣一個網址: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