htaccess重写规则重定向除一个IP之外的所有IP

时间:2016-04-22 17:34:47

标签: php apache .htaccess redirect mod-rewrite

我需要在网站上进行维护,并且是唯一可以访问它的人。我写了以下重写规则:

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^46\.233\.116\.53
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ http://maydomain.com/maintenance.html [R=307,L]

我应该将任何IP重定向到除我的维护页面之外(46.233.116.53),但不幸的是重定向我的。我还尝试将规则包装在

<IfModule mod_rewrite.c>
.....
</IfModule>

但仍然没有运气。我的托管应该做什么,因为他们似乎没有任何建议:(

1 个答案:

答案 0 :(得分:0)

这是我目前使用的。

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REMOTE_ADDR} !^00\.000\.00\.00 #Replace with real ip
 RewriteCond %{REQUEST_URI} !/maintenance.htmlp$ [NC]
 RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css) [NC]
 RewriteRule .* /maintenance.html [R=302,L]
</IfModule>