【问题标题】:Debian 8 Apache 2.4.10 ErrorDocument overload not workingDebian 8 Apache 2.4.10 ErrorDocument 重载不起作用
【发布时间】:2020-12-06 09:33:54
【问题描述】:
我花了很多时间测试不同的解决方案和谷歌搜索,但还没有成功。
我正在使用 VirtualHost,其中一个站点用于我的网站 (/var/site1/www/html/),另一个用于管理维护页面或 ErrorDocument (/var/msite2/www/html)。
我的最终目标是在维护阶段允许一些 IP 访问 site1。对于被拒绝的 IP,我希望将它们重定向到响应错误 503 的维护页面。
IP 过滤正在工作。我的问题是关于重定向。
在站点 1 配置文件中,在 VirtualHost 中,如果我设置 ErrorDocument 503 "Bad lucky !!!",则文本将显示在被拒绝的 IP 浏览器上。
当我尝试设置 ErrorDocument 503 /var/msite1/www/html/Error503.html 时,我收到了默认的 503 文本消息以及一条告诉系统无法找到 Error503.html。
有没有人有一个真正的程序?
【问题讨论】:
标签:
apache
debian
http-status-code-503
errordocument
【解决方案1】:
最后,我重新调整了思路,并使用 environmnet 变量 rewriterule 找到了解决问题的方法...
# Define Environment Variables
SetEnvif Request_URI ".*" ENVIRONMENT=MAINTENANCE
# Directory for site content
<Directory "/var/site1/www/html">
AllowOverride All
Require all granted
...
</Directory>
<Directory "/var/msite2/www/html">
AllowOverride All
Require all granted
</Directory>
# Maintenance redirection
UseCanonicalName On
RewriteEngine On
RewriteMap exceptions /var/msite2/exceptions.map
RewriteCond %{ENV:ENVIRONMENT} =MAINTENANCE
RewriteCond ${exceptions:%{REMOTE_ADDR}} !=OK
RewriteRule ^/(.*)$ /var/msite2/www/html/$1
现在可以正常使用了。