我设置了一个维护页面,我可以通过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]
答案 0 :(得分:3)
我认为这会奏效:
<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>
我在处理规则之前添加了一个条件来确认重写模块是否处于活动状态。问题规则和条件不会被修改。
此规则已经过测试here。