使用Apache
的htaccess
文件,我想rewrite
的URL http://example.com/page.php?v1=abc&v2=def
到http://example.com/abc/def
。mod_rewrite的重寫example.com/page.php?v1=abc&v2=def到example.com/abc/def
到目前爲止,我有:
Options +FollowSymLinks
RewriteEngine on
RewriteRule case-study/(.*)/(.*)/(.*)/(.*)/$ /case-study.php?$1=$2&$3=$4
但這似乎只是服務於實際文件page.php
與URL不變。
有沒有人知道什麼是正確的方法來做到這一點或上述可能是錯誤的?
感謝您不知道這一點。但是URL仍然沒有改變。 htaccess肯定會被閱讀,因爲我可以用隨機文本將它帶到500錯誤。有什麼你可以建議,爲什麼它不重寫? –
現在我想到了,我不相信在RewriteRule中使用查詢字符串,我認爲它必須在它之前進入RewriteCond中......我正在更新答案 - 它可能不完全正確(有一段時間沒有做過這種規則),但應該朝着正確的方向前進。 –
更新...如果這不起作用,那麼您可能想要更簡單地開始 - 例如,僅匹配base case-study.php並將其重寫爲/案例研究。一旦該重寫按預期工作,那麼一次一個地添加查詢參數。當然,請記住在測試之間重新啓動Web服務器,以免在更新文件(從經驗中說出)後讓自己陷入錯誤結論。 –