在共享主机上,我有一个public_html
网站所在的目录。创建了多个子域名,它们位于public_html
类似等位置public_html/subdomain1
。public_html/subdomain2
这使得这些子站点可以通过两种方式访问:
1.)domain.com/subdomain1
2.)subdomain.domain.com
我需要的是禁止每个子域的第一个选项。
答案1
这是我在寻找这个问题时遇到的第一个问题,不幸的是,五年多来它都没有得到解答。所以我想出了答案,并想在这里分享我的方法。
使用<If>
语句(从 Apache 2.4 开始可用),您可以执行以下操作:
将以下内容放入.htaccess
子目录中的文件中。
<If "%{HTTP_HOST} != 'mysubdomain.mydomain.tld'">
Deny from all
</If>
如果您需要更多控制,例如允许访问多个(子)域,您也可以使用 RegEx:
<If "! %{HTTP_HOST} =~ m#^mysubdomain\.mydomain\.tld$#">
Deny from all
</If>