我的网站托管在由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
答案 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)