Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何仅通过子域进行子文件夹强制访问_Apache_.htaccess_Subdomain_Shared Hosting - Fatal编程技术网

Apache 如何仅通过子域进行子文件夹强制访问

Apache 如何仅通过子域进行子文件夹强制访问,apache,.htaccess,subdomain,shared-hosting,Apache,.htaccess,Subdomain,Shared Hosting,我有一个由CPanel管理的共享托管帐户托管的网站。它允许创建无限的子域。我有以下情况: 假设我的主域名是:mydomain.com 我的帐户文件位于托管服务器上的/home/myaccount/public\u html 我决定将子域名命名为dir.e dir.mydomain.com 我创建此子域是为了使用以下文件: /home/myaccount/public\u html/Hosts/directory <IfModule mod_rewrite.c> Rewrite

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

假设我的主域名是:mydomain.com 我的帐户文件位于托管服务器上的/home/myaccount/public\u html 我决定将子域名命名为dir.e dir.mydomain.com 我创建此子域是为了使用以下文件: /home/myaccount/public\u html/Hosts/directory

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
 </IfModule>
AddType audio/mpeg mp3
AddType text/xml xml   
现在,我成功地访问了 但是,我需要阻止访问并专门限制对子域的访问

如何使用.htaccess实现这一点

下面是我在/home/myaccount/public\u 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   

重新启动发动机
重写规则^$webroot/[L]
重写规则(.*)webroot/$1[L]
AddType音频/mpeg mp3
AddType text/xml

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

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

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

以上Jon Lin的回答不起作用。我发现重定向可以解决以下问题:

#.htaccess at public_html

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

检查此解决方案。简明扼要