Torne os arquivos de subdomínio acessíveis apenas via subdomínio

Torne os arquivos de subdomínio acessíveis apenas via subdomínio

Em uma hospedagem compartilhada tenho um public_htmldiretório onde o site está localizado. Existem vários subdomínios criados e eles estão localizados em public_htmllike public_html/subdomain1, public_html/subdomain2etc.

Isso torna esses subsites acessíveis de duas maneiras:

1.)domain.com/subdomain1

2.)subdomain.domain.com

O que preciso é proibir a primeira opção para cada subdomínio.

Responder1

Esta foi a primeira pergunta que me deparei enquanto procurava e, infelizmente, não foi respondida há mais de 5 anos. Então eu descobri e gostaria de compartilhar minha abordagem aqui.

Usando uma <If>instrução (disponível a partir do Apache 2.4), eis o que você pode fazer:

Coloque o seguinte em um .htaccessarquivo no subdiretório.

<If "%{HTTP_HOST} != 'mysubdomain.mydomain.tld'">
    Deny from all
</If>

Se precisar de mais controle, por exemplo, para permitir acesso a vários (sub)domínios, você também pode usar RegEx:

<If "! %{HTTP_HOST} =~ m#^mysubdomain\.mydomain\.tld$#">
    Deny from all
</If>

informação relacionada