Pergunta

Tenho aproximadamente 50 sites que usam exatamente os mesmos arquivos, exceto CSS e IMAGES. Atualmente, duplico os arquivos sempre que crio um novo site e carrego CSS e imagens diferentes.

O que eu quero é configurar cada vhost para ter o mesmo DocumentRoot então adicione AliasMatch para as pastas css e imagens, por exemplo:

#Common Files VHOST
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName commonfiles.com
    ServerAlias www.commonfiles.com
    DocumentRoot /home/commonfiles/public_html
</VirtualHost>

#Sample vhost for 1 of the 50 sites.
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName mytest.com
    ServerAlias www.mytest.com
    DocumentRoot /home/commonfiles/public_html
    ......
    AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1
</VirtualHost>

O alias funciona perfeitamente para arquivos personalizados, mas os arquivos comuns não podem ser acessados ​​devido a erros de permissão:

[Mon Nov 16 09:31:01 2009] [crit] [client xxx.xxx.xxx.xxx] (13)Permission denied: /home/commonfiles/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Esta é a configuração atual do servidor que acho que pode ser parte do problema (configuração anterior do administrador do servidor):

  • Apache(Apache/2.2.14 (Unix)
  • PHP 5.2.11
  • Padrão CentOS 4.8 i686
  • Manipulador PHP 5 é dso
  • Apache suEXEC está ativado

Alguma sugestão?

Foi útil?

Solução

Parece que por padrão a pasta public_html tem permissões de 750, mudei para 755 e atualizei as restrições open_basedir e tudo começou a funcionar muito bem.

Só preciso ter certeza de que ainda posso ter um .htaccess por site.

Outras dicas

Não parece que o AliasMatch seja o problema, a mensagem de erro está apontando para o seu arquivo htaccess.Você verificou as permissões?A qual usuário ele pertence?

Outra solução seria criar links simbólicos em cada domínio apontando para a pasta onde residem os arquivos comuns.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top