2013-10-27 138 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