我有一个名为control
的文件夹,它包含在名为project
的根项目文件夹中,因此对于control
文件夹,localhost上的路径格式如下:http://localhost/project/control
在control
文件夹中,我放置了一个包含以下内容的.htaccess
文件:
RewriteEngine On
deny from all
在项目的根文件夹,即project
文件夹,我有另一个.htaccess
文件,包含主要代码,包括这个404错误重定向代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ errordocs/404.php [L]
现在我想做的是,每当遇到403
错误时,打开control
文件夹,它应该重写到相同的errordocs/404.php
页。
3条答案
按热度按时间h6my8fg21#
您可以使用
ErrorDocument
将状态代码与输出页面匹配vbkedwbf2#
我能够解决我的问题,我试图在这里解释它,这样它可能会对其他人也有帮助,它对我来说工作得很好。
在我的
project/control/.htaccess
文件中,我把代码:因此,每当用户输入url
localhost/project/control/
,他就会看到自定义的404.php文件从errordocs文件夹,这是一个目录回来,因为我的目的是防止直接访问控制文件夹.我没有使用deny from all
,而不是使用上述过程,以便我可以使用自定义的错误页面的403错误,独立于文档根路径。现在我的项目文件夹可以被命名为用户希望的任何名称。**注意:**此过程将返回200而不是实际的403错误。要返回403和404,请分别使用以下代码:
403
404
xuo3flqw3#
在htaccess中将403重定向到404
在你的404.php中添加如下的php代码:
使用该代码,响应将不是403,而是404