2009-02-07 62 views
0

好吧,我用下面的代码来重定向没有谁是我的IP到即将推出页面的用户:布尔与在.htaccess

rewritebase/
rewritecond %{REMOTE_HOST} !(^1\.2\.3\.4) 
rewritecond %{REQUEST_URI} !/comingsoon\.html$ 
rewriterule .* http://www.andrew-g-johnson.com/comingsoon.html [R=302,L] 

我想让它使我有两个IP的那是允许的,任何想法如何?

回答

1

我实际上会推荐Cletus的建议,但是如果你想坚持使用.htaccess,也可以添加更多条件的条件(好处在于它比将它们连接成一个长正则表达式更清晰) :

rewritebase/
rewritecond %{REMOTE_HOST} !(^1\.2\.3\.4) 
rewritecond %{REMOTE_HOST} !(^5\.6\.7\.8) 
# and so forth 
rewritecond %{REQUEST_URI} !/comingsoon\.html$ 
rewriterule .* http://www.andrew-g-johnson.com/comingsoon.html [R=302,L] 
1

你可以指定一个正则表达式,如:

(1\.2\.3\.4|5\.6\.7\.8) 

而是变得笨拙,你想要的更多的异常。

您可能想要做的事情改为使用mod_access(假设您使用的是Apache)并带有allow和deny指令。

order deny, allow 
deny all 
allow from 1.2.3.4 
allow from 5.6.7.8 
ErrorDocument 403 http://www.andrew-g-johnson.com/comingsoon.html 

结合403即将推出的自定义错误文档。

0

RewriteCond指令与AND隐式结合。所以,你只需要添加另一个RewriteCond指令来表达这一点:

RewriteCond %{REMOTE_HOST} !^1\.2\.3\.4$ 
RewriteCond %{REMOTE_HOST} !=5.6.7.8 
RewriteRule !^comingsoon\.html$ comingsoon.html [R=302,L] 

此外,您应指定开始地址的结束usind ^$或做=逐一比较。