我如何将所有网站(而不是其中任何一个)的流量重定向到 apache2 conf 文件中的页面?
目标是为所有域创建一个维护页面。
答案1
您需要使用以下重写规则:
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteRule ^ /maintenance.html [R=301]
这应该将所有请求重定向到该maintenance.html
页面。
答案2
为了轻松更改多个虚拟主机,请将其添加到所有虚拟主机(只需执行一次):
Include maintenance-status.conf
添加类似@Khaled 的回答的内容/etc/apache2/maintenance-on.conf
。
在 处创建一个/etc/apache2/maintenance-status.conf
指向 的符号链接/etc/apache2/maintenance-off.conf
,该符号链接应该是一个空文件。
在您的 cron 作业中,只需在开始和结束时重新指向该链接,并在每次之后让 Apache 正常重启。
如果可以的话,最好使用 PHP(或任何您使用的脚本语言)来执行此操作,并使用文件或数据库条目来触发它。