我需要重定向Apache 2.2服务器上所有将403赋予404的目录的请求。
Ex:
/xyz
或/xyz/
抛出403->重定向到404/xyz/sometext.txt
正常返回。 环顾四周,我遇到了这篇文章:
Problem redirecting 403 Forbidden to 404 Not Found
RedirectMatch 404 ^/include(/?|/.*)$
/include 404 (instead of 403)
/include/ 404
/include/config.inc 404 (instead of 403)
但是,最后一种情况也返回404。此外,它仅影响/ include /目录,我在寻找禁止目录更多。到目前为止,我有:
RedirectMatch 404 ^[\/[\w+]]+\/$
任何人都知道如何实现这一目标?谢谢,
要为今天导致403的任何请求返回404 not found
,您可以执行:
ErrorDocument 403 /404.php
然后在/404.php
中可以添加此行以将404状态返回给客户端:
<?php
# your custom 404 content goes here
# now make it return 404 status to browser
http_response_code(404);
?>
要返回对目录的所有请求的404,您可以执行:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ - [L,R=404]
只要您的403错误文档在限制区域内,它就永远不会出现,它必须在拒绝访问区域之外。