我在本地mamp服务器上将其添加到我的htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
这使得URL在没有.php扩展名的情况下工作,并且工作正常。但是,如果我进入一个不存在的页面,我会收到“内部服务器错误”而不是找不到的404页面...
有什么建议吗?
答案 0 :(得分:2)
那是因为规则匹配,conds 1和2都是真的。如果URL已包含.php,则需要停止循环
RewriteRule ^(.*)(?<!\.php)$ $1.php [L,QSA]
这意味着匹配。*只要结束锚点前面没有.php