TL;DR: Is there any way to have a domain's sub-directory http://company.com/subdir
point to a directory outside the web root using only .htaccess
with no access to the server's configuration?
Eu tenho um site company.com
que executa três cópias específicas do país de um CMS em um pacote de hospedagem compartilhada (Apache 2, PHP 5).
O CMS é dividido em dois diretórios:
/app <----- Non-public content, to be placed outside the web root
/htdocs <----- Public content
Eu gostaria de ter cada um dos três CMSs específicos do país como subdiretórios para o domínio principal:
www.company.com/de/ <-- 1st copy
www.company.com/ch/ <-- 2nd copy
www.company.com/at/ <-- 3rd copy
o problema óbvio com essa estrutura, cada diretório /app
do CMS precisaria ser colocado em um local separado fora da raiz da web. No entanto, por motivos de manutenção (estou passando meus projetos para outra empresa), gostaria de evitar isso.
A solução ideal para mim é que cada cópia do CMS resida em um diretório fora da raiz da Web:
/htdocs <------- public web root
/de/app
/de/htdocs
/ch/app
/ch/htdocs
/at/app
/at/htdocs
garantindo assim que o diretório app
não possa ser acessado de fora.
Cada diretório htdocs
público do CMS será disponibilizado para o mundo de forma seletiva usando uma diretiva Alias
:
Alias /de ../de/htdocs
Alias /ch ../ch/htdocs
Alias /at ../at/htdocs
Mas isso não é possível de .htaccess
(obtenho um erro 500), onde não é possível especificar Alias
diretivas e, até onde eu sei, mod_rewrite
diretivas só podem especificar destinos dentro da raiz da web (correto?)
Tanto quanto eu posso ver, o que eu quero fazer é impossível de fazer em um ambiente de hospedagem compartilhada, mas eu pensei em verificar se alguém aqui tem alguma idéia, como seria um enorme alívio para eu poder fazer isso dessa maneira.
Eu posso colocar um .htaccess no diretório pai (um nível acima da raiz da web), mas isso não parece mudar nada.
Espero que seja claro o suficiente. Se não for, por favor, deixe-me saber e eu vou esclarecer.
Mudar de uma hospedagem compartilhada não é uma opção, mas também não está pedindo à empresa de hospedagem que relaxe as regras - elas são muito boas no que fazem, mas também muito rigorosas e conservadoras sobre personalizações individuais .
Deixar cada diretório app
na raiz da web e bloquear o acesso a ele usando Deny from all
ou similar também não é uma opção.