共有ホスティングには、public_html
サイトが配置されているディレクトリがあります。複数のサブドメインが作成されており、 などに配置されていpublic_html
ます。public_html/subdomain1
public_html/subdomain2
これにより、これらのサブサイトには 2 つの方法でアクセスできるようになります。
1.)domain.com/subdomain1
2.)subdomain.domain.com
必要なのは、すべてのサブドメインの最初のオプションを禁止することです。
答え1
これは私がこれを探しているときに偶然見つけた最初の質問でしたが、残念ながら 5 年以上も答えが見つかりませんでした。そこで私は答えを見つけたので、ここで私のアプローチを共有したいと思います。
ステートメント (Apache 2.4 以降で利用可能)を使用すると<If>
、次の操作を実行できます。
.htaccess
サブディレクトリ内のファイルに次の内容を保存します。
<If "%{HTTP_HOST} != 'mysubdomain.mydomain.tld'">
Deny from all
</If>
複数の(サブ)ドメインへのアクセスを許可するなど、さらに制御が必要な場合は、正規表現を使用することもできます。
<If "! %{HTTP_HOST} =~ m#^mysubdomain\.mydomain\.tld$#">
Deny from all
</If>