2012-03-21 83 views
4

我使用這個代碼,只允許我的IP訪問網站htacess - 如何讓多個IP地址來訪問網站

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx 
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] 
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] 
RewriteRule .* /maintenance.html [R=302,L] 
</IfModule> 

現在我想,讓我的好友IP訪問該網站。任何人都可以告訴我如何在htaccess中指定多個ips?

感謝

回答

6

使用.htaccess文件來獲得基本的身份驗證,並添加:

#... 
Allow from IP/SubnetMask 
Allow from IP/SubnetMask 
#... 
+1

在哪一行? – user1091558 2012-03-21 14:27:12

+0

把它放到目錄或位置指令中,任何一行。 – Stefan 2017-03-01 10:18:19

0

嘗試添加[OR]標誌到其他IP條件一起加入另一RewriteCond

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] 
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] 
RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx [OR] 
RewriteCond %{REMOTE_ADDR} !^yyy\.yyy\.yyy\.yyy 
RewriteRule .* /maintenance.html [R=302,L] 
</IfModule> 

希望有幫助...

+0

嘿,我試過你的代碼。但它不工作.. – user1091558 2012-03-22 11:09:46

+0

基本上,當你說IP不是1或IP不是2時,如果你與IP 1你不是2,如果你與2你不是1,所以沒有這種情況下,可以滿足 – 2014-04-27 16:01:16

1

The tri ck是爲允許的IP添加一條規則,而不是爲維護添加規則;因爲您可以將規則標記爲Last,這意味着將不會處理下一個規則(除非規則未修改地址,這會通過.htaccess觸發一次更多的傳遞)。在你的情況下,它會看起來像:

<IfModule mod_rewrite.c> 
RewriteEngine on 

RewriteCond %{REMOTE_ADDR} xxx\.xxx\.xxx\.xxx [OR] 
RewriteCond %{REMOTE_ADDR} xxx\.xxx\.xxx\.xxy [OR] 
RewriteCond %{REMOTE_ADDR} xxx\.xxx\.xxx\.xxz 
RewriteRule .* - [L] #do notthing 

#if we are here, the IP is not in the allowed list, redirect 
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] 
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] 
RewriteRule .* /maintenance.html [R=302,L] 
</IfModule> 
相關問題