2012-08-15 56 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

相关问题