2011-03-25 53 views
0

问题是这个虚拟主机指向与主站点相同的根位置。它只是为了反映www.mysite.com在sub.mysite.com上的内容。这禁止我在我的.htaccess中使用允许和拒绝规则,因为这也会影响www.mysite.com流量。我已经使用也尝试:如何将对虚拟主机(子域)的访问权限限制为几个特定的​​IP?

RewriteCond %{HTTP_HOST} ^sub.mysite.com$ 
RewriteCond %{REMOTE_ADDR} !^123\.45\.67\.89$ [OR] 
RewriteCond %{REMOTE_ADDR} !^123\.55\.76\.234$ [OR] 
RewriteCond %{REMOTE_ADDR} !^12\.54\.67\.87$ 
RewriteRule ^.*$ http://www.mysite.com [R=301] 

的IP地址不属于一个范围,所以我想产生一个单行正则表达式来覆盖所有的人都将无法正常工作,并使用一系列条件句像上面根本没有工作,并且显得很杂乱。上面的IP只是例子。我需要限制访问大约10个唯一的IP地址。有任何想法吗?

回答

3

尝试在目录节点下的虚拟主机中定义允许和拒绝。这应该只对你想要的虚拟主机有效。

<VirtualHost 111.22.33.55:8080> 
    ServerName sub.mysite.com 
     <Directory proxy:> 
      Order Deny,Allow 
      Deny from all 
      Allow from 111.22.33 
     </Directory> 
</VirtualHost> 
+0

是需要'代理:'部分吗?我对mod_proxy不是很熟悉。 – Garrett 2011-03-25 19:04:02

+0

您还可以填写常规目录名称,如“httpdocs”或“/”。 – Trantinator 2011-03-25 19:37:30

+0

这很好。谢谢。 – Garrett 2011-03-28 17:54:07