Auf einem Shared Hosting habe ich ein public_html
Verzeichnis, in dem sich die Site befindet. Es wurden mehrere Subdomains erstellt und sie befinden sich in der public_html
Nähe public_html/subdomain1
von public_html/subdomain2
usw.
Dadurch sind diese Unterseiten auf zwei Arten zugänglich:
1.)domain.com/subdomain1
2.)subdomain.domain.com
Ich muss die erste Option für jede Subdomäne verbieten.
Antwort1
Dies war die erste Frage, die ich bei meiner Suche danach gefunden habe, und leider wurde sie seit über 5 Jahren nicht beantwortet. Also habe ich es herausgefunden und möchte hier meinen Ansatz teilen.
Mit einer <If>
Anweisung (verfügbar ab Apache 2.4) können Sie Folgendes tun:
Legen Sie Folgendes in eine .htaccess
Datei im Unterverzeichnis.
<If "%{HTTP_HOST} != 'mysubdomain.mydomain.tld'">
Deny from all
</If>
Wenn Sie mehr Kontrolle benötigen, z. B. um den Zugriff für mehrere (Sub-)Domänen zuzulassen, können Sie auch RegEx verwenden:
<If "! %{HTTP_HOST} =~ m#^mysubdomain\.mydomain\.tld$#">
Deny from all
</If>