在共享主機上,我有一個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>
如果您需要更多控制,例如允許存取多個(子)網域,您也可以使用正規表示式:
<If "! %{HTTP_HOST} =~ m#^mysubdomain\.mydomain\.tld$#">
Deny from all
</If>