2016-08-06 36 views
0

所以我有一個網站已經寫在標準的HTML與許多產品,每次客戶必須創建一個手冊頁。我現在正在尋找這個到PHP和創建一個數據庫和PHP文件來服務產品。mod_rewrite page.php?param =參數parameter.html

一切都很好但是他們想用當前的URL設置如果可能的話即

www.mysite.co.uk/this-is-a-product.html

而非 WWW。 mysite.co.uk/view_product.php?product=this-is-a-product

他們堅持要在最後使用.html(這意味着所有當前的鏈接都可以工作) 。

我確定這是一個相當標準的重寫類型,但不管什麼搜索我似乎無法找到任何地方。

回答

0

使用此規則在網站根目錄的.htaccess:

RewriteEngine On 

RewriteRule ^([^.]+)\.html$ view_product.php?product=$1 [L,QSA,NC] 
+0

@aty感謝您的,我已經使用的這些都和我的測試都運行良好網站參數略有不同。我試過的測試網站使用了一個id作爲參數,所以這個網址看起來像www.mysite2.co.uk/30.html,並且一切正常。我現在把它移動到問題的現場(沒有改變任何東西,現在我嘗試www.mysite.co.uk/ice+cream+cone.html時收到404錯誤。我檢查了一切,看起來都是正確的。兩個站點都是在我的網站主辦,都有相同的設置等,所以不應該有任何區別mod_rewrite規則等 – user2690892

+0

@aty道歉,我意識到,我的原始查詢做了一個簡單但致命的錯誤!在哪裏我有冰激凌cone.html我應該指出,該網址是編碼,因此看起來更像是冰+奶油+ cone.html,從測試我迄今爲止做的似乎空間(+)是問題的正則表達式提供的「似乎」正在採取一個來自URL的單詞,因此會落空。我基本需要的是文件名 - .html – user2690892

0

你可以試試這個,以及

RewriteEngine On 

RewriteRule ^([^/]+)\.html$ view_product.php?product=$1 [L,NC]