En un hosting compartido tengo un public_html
directorio donde se encuentra el sitio. Hay varios subdominios creados y están ubicados en me public_html
gusta public_html/subdomain1
, public_html/subdomain2
etc.
Esto hace que estos subsitios sean accesibles de dos maneras:
1.)domain.com/subdomain1
2.)subdomain.domain.com
Lo que necesito es prohibir la primera opción para cada subdominio.
Respuesta1
Esta fue la primera pregunta con la que me topé mientras buscaba esto y desafortunadamente no obtuve respuesta en más de 5 años. Entonces lo descubrí y me gustaría compartir mi enfoque aquí.
Usando una <If>
declaración (disponible desde Apache 2.4 en adelante), esto es lo que puede hacer:
Coloque lo siguiente en un .htaccess
archivo en el subdirectorio.
<If "%{HTTP_HOST} != 'mysubdomain.mydomain.tld'">
Deny from all
</If>
Si necesita más control, por ejemplo, para permitir el acceso a múltiples (sub)dominios, también puede utilizar RegEx:
<If "! %{HTTP_HOST} =~ m#^mysubdomain\.mydomain\.tld$#">
Deny from all
</If>