2

我设置了一个可以通过 htaccess 文件启用的维护页面。html 文件位于名为“maintenance”的文件夹中。

html 文件中有一些图像。但是,页面的访问者看不到图像,即使我添加了RewriteCond一行(理论上)允许它们。

如果我尝试直接在浏览器中访问图像文件的 URL,它会重定向到 maintenance.htm 页面。我不想重定向图像文件。

我错过了什么吗?

#RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
#RewriteCond %{REMOTE_ADDR} !^111.111.111.111$
RewriteCond %{REQUEST_URI} !/maintenance/maintenance\.htm$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|css|ico)$ [NC]
RewriteRule ^(.*)$ /maintenance/maintenance.htm [R=302,L]
4

1 回答 1

4

我认为这会起作用:

<IfModule mod_rewrite.c>
  RewriteEngine on
  # RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
  # RewriteCond %{REMOTE_ADDR} !^111.111.111.111$
  RewriteCond %{REQUEST_URI} !/maintenance/maintenance\.htm$ 
  RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|css|ico)$ 
  RewriteRule ^(.*)$  /maintenance/maintenance.htm [L]
</IfModule>

在处理规则之前,我添加了一个条件来确认重写模块处于活动状态。问题规则和条件不会被修改。

这条规则在这里进行了测试。

于 2012-12-07T05:38:43.333 回答