我总是在.htaccess中隐藏文件 .php 扩展名。但是,如果有人访问 .php 文件,则返回当前 .htaccess 文本中应该是404页的意外错误页面。
我的实际文字(来自@anubhava回答):
# to present a custom 404 page
ErrorDocument 404 ./error
RewriteEngine On
# return 404 for direct .php requests
RewriteCond %{THE_REQUEST} \.php[/\s?] [NC]
RewriteRule ^ - [R=404,L]
# silent rewrite to add .php extension
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
只是一个测试。 修改:我认为错误发生在404文档上,因为现在正在返回404错误。它不会显示在404页面上,而是显示我在浏览器页面中输入的目录,如下所示:
./误差
答案 0 :(得分:2)
以下是RewriteEngine On
下面的规则,为.php
个文件的请求提供404:
# to present a custom 404 page
ErrorDocument 404 /error
RewriteEngine On
# return 404 for direct .php requests
RewriteCond %{THE_REQUEST} \.php[/\s?] [NC]
RewriteRule !^error - [R=404,L]
# silent rewrite to add .php extension
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]