ErrorDocument 无法与 .htaccess 文件配合使用

ErrorDocument 无法与 .htaccess 文件配合使用

我正在尝试使用.htaccess 文件为一个目录设置特定的行为。

我的.htaccess如下:

ErrorDocument 401 /var/www/secret/logging.php

AuthName "My Password Protected Site"
AuthUserFile /var/www/secret/.htpasswd
AuthType Basic
Require valid-user

# Set REMOTE_USER env variable on 401 ErrorDocument
RewriteEngine On
RewriteBase /secret/
RewriteCond %{ENV:REDIRECT_STATUS} ^401$
RewriteRule .* - [E=REMOTE_USER:%{ENV:REDIRECT_REMOTE_USER}]

但是,在尝试测试这一点时,Apache 默认错误页面显示尝试使用 ErrorDocument 处理请求时遇到 404。所有权限均正确,所有文件路径均正确。

我究竟做错了什么?

答案1

正如你想要的redirect to an external URL to handle the problem/error 文档https://httpd.apache.org/docs/2.2/en/mod/core.html#errordocument

您必须设置一个 URL:

ErrorDocument 401 /secret/logging.php

否则错误重定向将尝试转到http://{yourSite}/var/www/secret/logging.php不存在的位置并触发 404 未找到错误

答案2

问题是您在错误文档路径中使用了绝对路径。这不起作用,路径被解释为在您的DocumentRoot视图 内https://stackoverflow.com/questions/3311411/apache-errordocument-with-absolute-path获得更多信息和解决方法。

相关内容