2010-07-29 58 views
1

使用mod_rewrite到redirct,我怎麼會拿網址像這樣:使用mod_rewrite使用不同的GET變量

www.example.com/?foo=hello

www.example.com/?foo=world

,並將其重定向至以下網址:

www.example.com/hello/

www.example.com/world/

謝謝

回答

3

你應該做的與此相反。你可以使你網站上的所有URL鏈接看起來像'漂亮'版本(但不要改變任何其他功能),然後你使用mod_rewrite來製作模式,匹配對'漂亮'URL的請求並顯示相應的'醜陋'網址。一個非常簡單的例子,你的鏈接...

RewriteEngine On 
RewriteEngine ^([^/]+)/?$ /index.php?foo=$1 

更新:

您可以使用相反的方向重定向...

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^foo=(.*) 
RewriteRule ^index.php$ /%1/ [R=302] 

一旦你高興它的工作,您可以將302更改爲301以獲得永久性重定向。如果你將這個與上面的例子結合起來,雖然你會得到一個500內部服務器錯誤,因爲你將會創建一個重定向循環。

+1

感謝您的回覆。 我明白你在說什麼,但我試圖重定向一個以前使用舊的醜陋網址的用戶到一個新的漂亮的網址。 – Micah 2010-08-02 12:54:03

+1

我更新了我的答案,並提供了有關如何在該方向前進的信息。 – 2010-08-03 08:36:35