我的要求看起来很简单,但是谷歌搜索还没有帮助我。
我的问题是
我想向试图访问我网站中的 *.php 文件的用户抛出一个 404 页面(而不是重定向到另一个文件夹或文件)
例如:当客户要求 www.example.com/home/我想显示内容,但是当用户说
www.example.com/home/index.php 我想显示 404 页面。
我尝试了不同的方法,但都没有用,其中一种方法如下所示
<Directory "C:/xampp/htdocs/*">
<FilesMatch "^\.php">
Order Deny,Allow
Deny from all
ErrorDocument 403 /test/404/
ErrorDocument 404 /test/404/
</FilesMatch>
</Directory>
提前致谢
答案1
这是我的 .htaccess 文件。您可以在这里演示它:
http://mathpdq.com/demo2 或者
http://mathpdq.com/demo2/index.php
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /demo2
RewriteCond %{HTTP_HOST} ^mathpdq\.com
RewriteRule ^(.*)$ http://www.mathpdq.com/demo2/$1 [R=permanent,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
答案2
这只是一条基本的重写规则,您可以将其作为 .htaccess 文件放在您的文件夹中,或者放在您的服务器配置或虚拟主机配置中
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
//allowed files, just remove the ! to use this rule to deny
RewriteCond %{REQUEST_URI} !.*\.(css|js|jpg|gif|png|zip|tff)
//redirect location
RewriteRule (.*) /public/www/404.php