2013-12-19 49 views
1

我試圖做一個重定向,但由於某種原因,我得到以下.htacces重定向所有訪客不是來自某個IP地址的多個IP的

# -> Rewrite START 
Options ExecCGI +FollowSymLinks 
RewriteEngine On 

ErrorDocument 403 http://example.com 

### Deny website access to users outsdie our IP addresses 
order deny,allow 
deny from all 
allow from xx.xx.xx.xx 
allow from xx.xx.xx.xx 
### Deny end 

使用的代碼的Apache的錯誤頁面進行編輯

有人能請我指出正確的方向。我是.htaccess的新手。我將如何添加另一個IP地址到下面的代碼?因爲既然請求循環的

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REMOTE_ADDR} !=xx.xx.xx.xx 
RewriteRule ^(.*)$ http://example.com [L,R=301] 
+0

[http://stackoverflow.com/questions/6025116/apache-http-rewrite-redirect-based-on-ip](http://stackoverflow.com/questions/6025116/apache -http-rewrite-redirect-based-ip),[http://stackoverflow.com/questions/9911289/redirect-users-based-on-ip-address-apache-htaccess]( http://stackoverflow.com/questions/9911289/redirect-users-based-on-ip-address-apache-htaccess) – SquareCat

+0

@SquareCat謝謝,但這不適合。 – StevenPHP

回答

1

你得到錯誤的403也將導致403(因爲IP地址仍然會匹配)。

試試這個代碼,而不是:

Options ExecCGI +FollowSymLinks 

ErrorDocument 403/

RewriteEngine On 

RewriteCond %{REMOTE_ADDR} !^(xx\.yy\.zz\.mm|aa\.bb\.cc\.dd)$ 
RewriteRule ^.+$ - [F] 
+0

感謝,似乎工作。我已經用你的解決方案編輯了我的答案,並且工作。你能否建議我如何將2個不同的IP應用於我的示例代碼?謝謝 – StevenPHP

+0

如果你看到我的答案,我已經提供了一個例子來提供2個或更多的IP在條件。 – anubhava

+0

如果您遇到任何問題,請告訴我。 – anubhava