我试图使用一个.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。所有权限都正确,所有文件都正确。
我做错了什么?
发布于 2015-11-23 10:28:36
您希望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未找到的错误
发布于 2015-11-23 10:29:06
问题是您在错误记录路径中使用了绝对路径。这是不工作的,路径被解释为在您的DocumentRoot中,请参阅https://stackoverflow.com/questions/3311411/apache-errordocument-with-absolute-path获得更多信息和解决方法。
https://serverfault.com/questions/738250
复制相似问题