Debian 8 Apache 2.4.10 ErrorDocument重载不起作用

问题描述

我花了很多时间来测试不同的解决方案并进行谷歌搜索,但尚未成功。 我将VirtualHost与一个网站用于我的网站(/ var / site1 / www / html /),另一个用于管理维护页面或ErrorDocument(/ var / msite2 / www / html)。
我的最终目标是允许某些IP在维护阶段访问site1。对于拒绝的IP,我希望将它们重定向到响应错误503的维护页面
IP过滤正在运行。我的问题是关于重定向
在site1 configuratipon文件的VirtualHost中,如果我将ErrorDocument 503设置为“ Buck luck !!!”,那么该文本将在拒绝的IP浏览器上显示
当我尝试设置ErrorDocument 503 /var/msite1/www/html/Error503.html时,我得到了认的503文本消息,外加一条消息,提示系统无法找到Error503.html。
有人对此有一个真实的程序吗?

解决方法

最后,我重新确定了主意,并使用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

现在工作正常。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...