如何让 Apache 为除特定用户之外的所有用户显示静态维护页面?

如何让 Apache 为除特定用户之外的所有用户显示静态维护页面?

我需要能够将我们的网站置于维护模式,但某些用户除外,以允许 QA/Dev 能够在维护模式期间测试对网站/数据库的更改。

问题是,每次我们执行此操作和制定策略时,IP 列表都会发生变化,我们无法每次执行此操作时都使用不同的 IP 列表修改主 Apache 配置文件。我们可以对 Apache 配置进行一次性修改,以支持读取或使用包含例外列表的其他文件。

我有哪些选项可以为 apache 提供不应重定向的 IP 列表?.htaccess我们添加的文件可以做到这一点吗?那么键值对文件呢?

我正在考虑在 apache 配置中做这样的事情:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/maintenance.mode -f
#RewriteCond %{REMOTE_ADDR} ## check list of exceptions??
RewriteRule !^maintenance/.*$ /maintenance/ [R,L]

答案1

您可以将黑名单/白名单放在单独的文件中。请查看http://httpd.apache.org/docs/2.2/rewrite/access.html#host-deny- 它应该给你足够的信息来开始。

相关内容