编辑htaccess后,在无效页面上出现“内部服务器错误”

时间:2012-03-04 16:31:03

标签: .htaccess

我在本地mamp服务器上将其添加到我的htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

这使得URL在没有.php扩展名的情况下工作,并且工作正常。但是,如果我进入一个不存在的页面,我会收到“内部服务器错误”而不是找不到的404页面...

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

那是因为规则匹配,conds 1和2都是真的。如果URL已包含.php,则需要停止循环

RewriteRule   ^(.*)(?<!\.php)$      $1.php [L,QSA]

这意味着匹配。*只要结束锚点前面没有.php