删除.htaccess中的文件中的.php(如果该文件不存在,则将用户重定向到自定义404页面)
拜托,我需要一个快速解决方案 我已经完成了一个站点,我使用删除.htaccess中的文件中的.php(如果该文件不存在,则将用户重定向到自定义404页面),php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,拜托,我需要一个快速解决方案 我已经完成了一个站点,我使用.htaccess重写URL以删除.php,我只打算删除已知的文件,即如果我有about.php,那么我可以有/about它可以很好地处理以下.htaccess行 Options -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*
.htaccess
重写URL以删除.php
,我只打算删除已知的文件,即如果我有about.php
,那么我可以有/about
它可以很好地处理以下.htaccess
行
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]
现在我创建了另一行来处理自定义404
错误
ErrorDocument 404 /404.html
现在问题来了,我在导航到未知文件而不是重定向到404时出现500内部服务器错误
阿帕奇重写不知何故是挥舞,所以我只是没有时间了,请任何帮助
感谢您的期待您应该能够在不使用.php的情况下进入页面,因此如果您想要一个头文件或配置文件,只需在会话结束后将此代码放在顶部即可。您可以删除重写规则
if (substr($_SERVER['REQUEST_URI'], -4) === '.php') {
require '404.php';
}
回答得很好。只需在信息上再扩展一点。。因此,它改进了路由,而不是.htaccess.So中的一个包罗万象的头文件在哪里,我没有使用框架,我只是想重定向并删除文件前面的.php,然后将其他文件发送到404。。。。所以在我看来这是行不通的,因为我必须做一些事情,比如将所有请求路由到一个文件,然后从该文件构建一个路由器系统。。。我没有时间做那件事,工作已经完成了