2013-02-10 45 views
-1

我希望使用我的網站的人在瀏覽器地址欄中查看site.com/contact以代替site.com/index.php?page=聯繫。mod_rewrite,我想重寫:index.php?page = contact

我是新來的mod_rewrite,到目前爲止,我來到這個規則。

我現在所擁有的代碼是:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?page=$1 

我將如何做到這一點?

編輯: 問題是我的聯繫頁面的URL仍然顯示:site.com/index.php?page=contact。

+0

告訴我們什麼不行,你試過了什麼。 – Gereon 2013-02-10 18:14:47

+0

對不起;當我進入我的聯繫頁面時,URL仍然顯示:index.php?page = contact – user2059290 2013-02-10 19:00:06

回答

0

的最後一部分,重寫規則,應該是這樣的:

RewriteRule ^(contact)/?$ index.php?page=$1 

這意味着,如果用戶鍵入「mysite.com/contact」他們實際上正在擔任了「mysite.com/index .PHP?頁=接觸」。

圓括號創建捕獲組,轉換爲$1。對於每個連續的括號,捕獲組變量會遞增 - $2$3,依此類推。