隐藏文件扩展名不起作用htaccess

时间:2012-08-15 16:37:32

标签: .htaccess

我正在使用mod_rewrite隐藏文件扩展名此代码工作正常但是当我在url末尾添加斜杠时显示错误500内部服务器错误

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

请帮帮我

1 个答案:

答案 0 :(得分:1)

  

但是当我在url的末尾添加斜杠时,显示错误500内部服务器错误

这是因为斜杠在(.*)中组合在一起,然后由$1引用,因此请求如下:

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

正在改写为:

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

原因是条件%{REQUEST_FILENAME}\.php存在,因为尾部斜杠被忽略。你只需要在RewriteRule的正则表达式中包含匹配斜杠的匹配:

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