在.htaccess中删除文件中的.php(如果此类文件不存在,则将用户重定向到自定义404页面)

时间:2014-03-26 11:51:26

标签: php apache .htaccess mod-rewrite redirect

我需要快速解决,

我已经完成了一个网站,并且我使用.htaccess来重写网址以删除.php我只想要已知文件,即如果我有about.php那么我可以{{1}使用以下/about

可以正常工作
.htaccess

现在我创建了另一行来处理自定义Options -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ $1.php [L] 错误

404

现在问题是,我在导航到未知文件而不是重定向到404时得到ErrorDocument 404 /404.html ....

Apache重写是以某种方式进行的,所以我现在没有时间,请帮助

感谢您的期待

1 个答案:

答案 0 :(得分:1)

那么你应该能够在没有.php的情况下进入页面,所以如果你有一个头文件或配置文件,那么只需将这些代码放在会话之后。您可以删除重写规则。

if (substr($_SERVER['REQUEST_URI'], -4) === '.php') {
    require '404.php';
}