2013-10-20 39 views
1

我正在升級我的靜態網站,該網站在內容頁面上有.php擴展名。我創建了自己的簡單cms,它將從現在開始從mysql數據庫中檢索數據,並保持url結構與舊的一樣。.htacces重寫規則以保持.php文件擴展名

cms已獲取函數從數據庫中檢索url結構。總體來說,當我測試時,它開始與.html正常工作。但是,當我在.htaccess代碼中將.html擴展名更改爲.php時,內容頁開始反映「內部服務器錯誤。服務器遇到內部錯誤或配置錯誤,無法完成您的請求。」

這裏是我的.htaccess的代碼,我用:

RewriteBase/
Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^([^?]*).php$ content.php?pid=$1 

或許存在衝突,這裏是與實際工作正常.html擴展的代碼。

RewriteBase/
Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^([^?]*).html$ content.php?pid=$1 

所以基本上,內容頁以.html正在& .PHP不工作。但我需要我的內容頁與.php

請幫忙。在此先感謝... :)

回答

0

由於匹配的模式和目標URI都有php擴展名,因此它會導致循環,從而導致500錯誤。您可以使用不同的正則表達式和額外的條件來避免循環:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^.]+)\.php$ content.php?pic=$1 [L,QSA,NC]