【发布时间】:2023-01-18 04:49:26
【问题描述】:
我有以下情况。我在 /var/www 下有我的 webapp 文件夹“my_project”。现在我想使用 mod_rewrite 显示一个维护页面。
为此,我在 /var/www 下放置了文件“maintenance.html”。此外,我在 /etc/apache2/sites-available 下的“my_project”文件夹的配置文件中添加了以下重写条件,包括以下重写规则:
<VirtualHost *:80>
....
RewriteEngine on
RewriteCond /var/www/maintenance.html -f
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteCond %{REMOTE_ADDR} !^00\.00\.00\.00
RewriteRule (.*) /var/www/maintenance.html [R=503,L]
#Alternative I tried:
RewriteEngine on
RewriteCond /var/www/maintenance.html -f
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteCond %{REMOTE_ADDR} !^00\.00\.00\.00
RewriteRule (.*) /maintenance.html [R=503,L]
...
</VirtualHost>
现在我收到消息“服务不可用。由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后再试”,如果文件“maintenance.html”位于文件夹 /var/www 中。但是,我希望显示 maintenance.html 文件而不是上述消息。
谁能告诉我我在这里做错了什么或理解了什么?
【问题讨论】:
-
““my_project”文件夹的配置文件中的以下重写规则” - 您如何定位
my_project子目录?
标签: mod-rewrite apache2 maintenance-mode