2012-08-15 54 views
2

我使用mod_rewrite隱藏文件擴展該代碼工作知府,但是當我在URL的末尾加上斜槓是顯示錯誤500內部服務器錯誤隱藏文件擴展名是不工作的htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

請幫我

+0

查看服務器的錯誤日誌 - 這將有更多的細節,但毫無疑問,你已經引入了一個語法錯誤到重寫東西 – 2012-08-15 16:39:26

+0

這不是我的代碼,我也從不同的博客拿起,但這不能正常工作。以及沒有錯誤日誌其他我的IP和用戶代理? – user1591760 2012-08-15 16:53:28

回答

0

但是當我在URL的末尾加上斜槓是顯示錯誤500內部服務器錯誤

這是因爲斜線被分組在一起在(.*),然後通過$1引用的,所以像的請求:

http://your.host.com/my_file/ 

是越來越改寫爲:

http://your.host.com/my_file/.php 

的原因是,該條件%{REQUEST_FILENAME}\.php存在,因爲尾部斜線被忽略。你只需要在你的RewriteRule的正則表達式對斜線比賽:

RewriteRule ^(.*?)/?$ $1.php 
+0

謝謝Jon Lin!這是完美的工作 – user1591760 2012-08-19 10:34:27

相關問題