2013-07-25 111 views
0

我正在嘗試爲我的網站製作更清晰的網址。我已經發現了很多關於刪除URL中的文件擴展名的問題,並設法使其發揮作用。我想通過將URL如http://www.site.com/news.php?id=1轉換爲http://www.site.com/news/1/來進一步實現。我無法找到這個具體問題的答案,所以我在這裏問。我怎麼能實現這樣的網址?URL:將「/news.php?id=1」轉換爲「/ news/1 /」

重寫規則我媒體鏈接在我的htaccess:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php 

回答

0

有很多的問題,在那裏,回答你的問題。有兩件事情你必須做的:

  1. 重定向醜陋的URL到奇特的網址,讓用戶看到花哨的URL
  2. 內部重寫看中URL到醜陋的網址,從而使服務器可以實際執行它。

你可以找到mod_rewrite here的文檔。此解決方案使用[END]標誌,該標誌僅在Apache 2.3.9及更高版本中可用。你可以找到文檔here。第一條規則中尾隨的?放棄查詢字符串。

#Redirect ugly url to fancy url 
RewriteCond %{QUERY_STRING} id=([^&]*) 
RewriteRule ^news\.php$ news/%1/? [R] 

#Internally rewrite fancy url to a usable url 
RewriteRule ^news/([^/]*)/?$ news.php?id=$1 [END]