.htaccess htaccess限制请求包含父文件夹时的访问权限

.htaccess htaccess限制请求包含父文件夹时的访问权限,.htaccess,subdomain,.htaccess,Subdomain,如果网站位于共享托管空间中,父文件夹和子文件夹中的子域,当url请求包括父域时,是否可以限制对子域的访问 共享托管空间中的文件夹结构为: domain.com 等 这 那个 subdomaina.com 我可以像这样访问子域 (a) (b) 我怎样才能防止b的发生 我在domain.com中添加了一个.htaccess文件,并将301重定向到,但我得到了一个循环,如…听起来您的网站没有正确设置和配置 当url请求包含时,是否可以限制对子域的访问 父域 是的,在正常的DNS->webserver虚

如果网站位于共享托管空间中,父文件夹和子文件夹中的子域,当url请求包括父域时,是否可以限制对子域的访问

共享托管空间中的文件夹结构为:

domain.com 等 这 那个 subdomaina.com

我可以像这样访问子域 (a) (b)

我怎样才能防止b的发生


我在domain.com中添加了一个.htaccess文件,并将301重定向到,但我得到了一个循环,如…

听起来您的网站没有正确设置和配置

当url请求包含时,是否可以限制对子域的访问 父域

是的,在正常的
DNS
->
webserver虚拟主机
->
源文件(index.html等)
配置下-请求父域及其内容与子域分开。
换句话说,子域实际上被视为完全不同的网站

我怎样才能防止b的发生

您需要将Web服务器配置为将请求路由到子域,再路由到文件系统上的单独文件夹。(即
文档根目录
)。 服务器是共享的这一事实与您配置和组织文件等的方式没有实际区别

所以你应该做的是

request for                              
subdomaina.com --->|             |--->subdomaina.com - content files
                   |             |   /home/web/subdomaina/index.html
                   |-->webhost --|
                   |   server    |     
request for ------>|             |---> domaina.com - content files
 domaina.com       |             |   /home/web/subdomaina/index.html
在这里,Web服务器配置“知道”哪些文件用于哪个域

你是怎么设置的? 如果您有共享托管服务,通常您只需致电或发送信息给技术支持,请他们帮助设置您的子域。
否则你可以自己做,通常通过cpanel。
您需要指定子域的位置以及子域文件的位置

我可以像a)一样访问子域a)
http://subdomaina.com
b)
http://domain.com/subdomaina.com
如何防止b发生

您可以在
subdomaina.com/.htaccess
文件中使用此代码:

RewriteEngine On

# forbid access is domain is not subdomaina.com
RewriteCond %{HTTP_HOST} !^(www\.)?subdomaina\.com$ [NC]
RewriteRule ^ - [F]

您将子域放在子文件夹中,而不使用虚拟主机将域映射到其自己的文档根(文件夹)中,有什么具体原因吗?@Michael Coleman这些网站位于共享托管服务器中。不是专用服务器或专用服务器。我认为共享主机用户无法访问服务器配置您的共享主机上有cpanel吗?您指出的第二段代码可以工作;但是,如果我包含代码的前两行,我会得到“InternalServerError”(内部服务器错误),谢谢。这个答案非常有用。在共享主机中,公共服务器使用RewriteBase/subdomaina.com/行返回服务器错误。代码的其余部分将是正确的答案是的,我现在已经更正了,以便我可以接受答案。