2016-08-30 177 views
1

我想改變我的網站的網址:的.htaccess重寫不工作

http://example.com/clinicdetails.php?url=/diet-clinic-in-punjabi-bagh.html 

看起來像這樣:

http://example.com/clinicdetails.php/diet-clinic-in-punjabi-bagh.html 

我在.htaccess文件代碼如下:

RewriteEngine On 
RewriteRule ^([^/]*)\.html$ /clinicdetails.php?url=$1 [L] 

但是,這是行不通的(沒有錯誤)在我的本地主機上,也不在共享託管服務器上。這裏可能是什麼問題?

+0

Clinicaldetails.php是否執行?什麼是'$ _GET {'url']'? – MrTux

+0

檢查/ etc/apache2的/網站可用/默認配置正確與否應該是<目錄/ var/www/html等> 選項指標的FollowSymLinks多視圖 設置AllowOverride所有 訂購允許,拒絕 允許所有 –

+0

@MrTux我有一個表和$ _GET ['url']用於從表中獲取數據,用於顯示數據,所以是頁正在執行! –

回答

0
RewriteRule ^([^/]*)\.html$ /clinicdetails.php?url=$1 [L] 

RewriteRule模式未能給定的URL匹配,因爲字符串錨^的開始。雖然您嘗試匹配的路徑段中沒有斜槓,但您可以在網址的其餘部分進行匹配。所以,請嘗試以下操作:

RewriteRule ([^/]+)\.html$ /clinicdetails.php?url=/$1 [L] 

我也改變了*+,因爲文件名是至少1字符。更具體的正則表達式更好。

要映射到所需的URL,您似乎還需要在URL參數值上使用斜槓前綴。即。 url=/$1