仅允许来自特定IP地址的请求访问子域&将所有其他人重定向到不同的网址 - htaccess

时间:2015-01-27 16:02:46

标签: .htaccess mod-rewrite redirect

我有一个旧商店store.mydomain.com的子域名。我们刚刚在根域www.mydomain.com上推出了一家新店

我们如何针对来自特定IP的所有流量store.mydomain.com将所有流量从www.mydomain.com重定向到EXCEPT

换句话说,我们正在尝试维护对store.mydomain.com的内部访问权限,因为我们仍然需要对旧商店(客户记录,订单等等)进行一些操作,但我们并没有这样做。一般公众能够访问旧store.mydomain.com子域上的任何URI。我们希望所有这些人都被重定向到www.mydomain.com

以下内容适用于重定向所有流量,但不确定如何进行IP条件检查。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^store.example.com$
RewriteRule ^(.*)$ http://www.example.com/ [R=301,L]

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine on 
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4$
RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78%
# etc...
RewriteCond %{HTTP_HOST} ^store.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/ [R=301,L]

因此除非请求来自IP,否则将重定向所有人:

1.2.3.4
12.34.56.78