2013-10-27 167 views
2


这种格式有什么问题?
htaccess RewriteCond问题

RewriteEngine On 
RewriteCond %{REMOTE_ADDR} ^5. [OR] 
RewriteCond %{REMOTE_ADDR} ^23.27. [OR] 
RewriteCond %{REMOTE_ADDR} ^221.232. 
RewriteRule ^(.*)$ http://www.website/junk/ [R] 

,你可以想像的想法,是卫生组织的IP与5或23.27开始重定向用户。
或221.232。到网站/垃圾/文件夹,我需要添加更多的范围。
即时通讯与上述的问题是,它也重定向我自己的IP,其中以24开头。
告诉我一些格式错误,可能没有捕捉到第一组数字
是的,我意识到我是在范围之后,而不是单一的IP地址,但它是如何我想要的。
感谢

回答

2

DOT是在正则表达式特殊字符,需要另行逃脱它匹配任何字符

所以^5.也可以匹配5.3.2.1 OR 50.40.30.20

使用此代码:

RewriteEngine On 
RewriteCond %{REMOTE_ADDR} ^5\. [OR] 
RewriteCond %{REMOTE_ADDR} ^23\.27\. [OR] 
RewriteCond %{REMOTE_ADDR} ^221\.23\. 
RewriteRule^http://www.website/junk/ [L,R] 
+0

但是为什么它匹配在原始文章中以'24.'开头的IP? –

+0

'以24开头的IP不应该匹配,但我没有看到所有的代码。那里可能有其他规则,不确定。 – anubhava

+0

谢谢,如果我得到的权利,它可能是我的ip中,因为我没有逃脱列出的任何序列被抓到。对所有这些都是新鲜事物,如果您不知道如何正确格式化,只是使用其他找到的代码作为示例往往会导致问题。 – TheFuz