0
我想寫一個重寫規則,但我有一些轉發查詢字符串的嚴重問題。 我也試過[QSA]
國旗,但它沒有奏效。轉發與重寫規則的查詢字符串
按照正確的請求:
/localhost/registry/registry.php?id=something&password=somethingelse&uri=whatever
而且我會變成這樣的事情:用同一職位查詢
/localhost/registry/register
(ID =東西&密碼= somethingelse & URI =什麼) 。 在這一點上,我的.htaccess將修改下面的一個上述要求:
/localhost/registry/registry.php?request=register&id=something&password=somethingelse&uri=whatever
於是,我試着在我的.htaccess以下重寫規則:
RewriteRule ^register$ http://localhost/registry/registry.php?request=$0&$1 [QSA]
但是,在最後'&',沒有任何顯示,$ 1變量是空的。 我必須寫什麼樣的重寫規則?
在此先感謝。
!!!解決方案
RewriteRule ^register$ /registry/registry.php?request=$0 [QSA]
它不工作。 返回的HTTP狀態是400 如果我添加重寫規則是這樣的: >重寫規則^寄存器$ HTTP://localhost/registry/registry.php [QSA] 請求(初始POST請求)是使用302 http狀態重定向,但以下請求(http://localhost/registry/registry.php)是GET,而不是POST。 爲什麼?此外,QSA不再工作... – Wilk 2012-02-21 21:49:50
父文件夾中是否有任何'.htaccess'文件? – undone 2012-02-22 03:57:32
不在父文件夾中,但在localhost/registry中。爲什麼? .htaccess運作良好。重寫規則不起作用。現在我用PHP將所有請求轉發到registry.php文件,但我不喜歡這個解決方案... – Wilk 2012-02-24 14:19:30