如何仅通过子域进行子文件夹独占访问

时间:2012-10-23 20:54:08

标签: apache .htaccess subdomain shared-hosting

我的网站托管在由CPanel管理的共享主机帐户上。它允许创建无限的子域。我有以下情况:

假设我的主域名是:mydomain.com 我的帐户文件位于托管服务器/ home / myaccount / public_html 我决定将子域命名为dir,即dir.mydomain.com 我创建了这个子域以使用以下文件: /家庭/我的账户/的public_html /主机/目录

现在我成功地访问了http://dir.mydomain.com 但是,我需要阻止访问http://mydomain.com/Hosts/directory并专门限制对子域的访问。

我怎么能用.htaccess来实现这个目标?

以下是我在/ home / myaccount / public_html / Hosts /目录中找到的.htaccess文件中使用的代码的副本

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>
AddType audio/mpeg mp3
AddType text/xml xml   

3 个答案:

答案 0 :(得分:4)

Jon Lin的上述答案不起作用。我发现Redirect可以解决问题如下:

#.htaccess at public_html

Redirect /Hosts/directory/ http://dir.mydomain.com/

答案 1 :(得分:2)

保留/home/myaccount/public_html/Hosts/directory所在的规则,您需要将规则添加到主域的主文档根目录/home/myaccount/public_html,以便它无法访问主机中的内容:< / p>

RewriteRule ^/?Hosts - [L,R=404]

您需要在您已经拥有路由规则之前添加此规则。在您的主域中,对/Hosts或任何子目录的任何访问都将产生404。

答案 2 :(得分:2)