5

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

假设我的主域是:mydomain.com 我的帐户文件位于 /home/myaccount/public_html 的托管服务器上 我决定创建名为 dir 的子域,即 dir.mydomain.com 我创建了这个子域以使用以下文件:/home/myaccount/public_html/Hosts/directory

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

我如何使用 .htaccess 来实现这一点?

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

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

3 回答 3

5

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

#.htaccess at public_html

Redirect /Hosts/directory/ http://dir.mydomain.com/
于 2012-10-25T22:01:26.453 回答
2

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

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

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

于 2012-10-24T04:51:50.493 回答
1

检查此解决方案。简短而简单。

http://www.codefleet.net/prevent-access-to-subdomain-folder-from-main-domain/

于 2015-05-20T14:25:55.080 回答