Apache 如何仅通过子域进行子文件夹强制访问
我有一个由CPanel管理的共享托管帐户托管的网站。它允许创建无限的子域。我有以下情况: 假设我的主域名是:mydomain.com 我的帐户文件位于托管服务器上的/home/myaccount/public\u html 我决定将子域名命名为dir.e dir.mydomain.com 我创建此子域是为了使用以下文件: /home/myaccount/public\u html/Hosts/directoryApache 如何仅通过子域进行子文件夹强制访问,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
<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/
检查此解决方案。简明扼要