No passado, usamos hospedagem virtual baseada em nome no Apache. Recentemente, convertemos sites para SSL e tivemos que seguir o caminho baseado em IP. Como resultado, atualmente temos uma instância configurada da seguinte forma:
- www.domain.com usando a porta 80
- dev.domain.com usando a porta 8080
Ambos usam o mesmo IP. Este cenário é possível usando a funcionalidade multi-site do Drupal? Embora descubramos que dev.domain.com funciona e lê o banco de dados "dev" correto (usando as configurações de desenvolvimento), ele lê arquivos de tema do site "www", o que não é o que queremos.
O culpado é o arquivo htaccess do desenvolvedor? O Apache está escutando no 8080 e usa as configurações de banco de dados adequadas, mas não os arquivos de tema corretos. Outra observação: navegar em dev.domain.com:8080 apresenta um erro: "A página não está redirecionando corretamente". Deveríamos apenas comprar um novo endereço IP para o site de desenvolvimento ou isso ainda não ajudaria?
Qualquer conselho seria apreciado. Obrigado.
Responder1
Você tentou especificar uma porta com sua diretiva ServerName para cada sub-rotina VirtualHost?
Responder2
Pode haver uma solução melhor se você quiser pagar por isso. Compre um certificado curinga para *.domain.com
Acho que os preços estão em torno de 150-200 por ano.
Se você não quiser fazer isso .. você pode editar seu htaccess para ser mais genérico para lidar com portas
Responder3
Acontece que dev.domain.com estava apenas olhando www.domain.com o tempo todo e lendo o arquivo de configuração correto do banco de dados de lá, em vez de dev.domain.com. Isso acabou sendo um problema de ordem do arquivo .conf onde dev.domain.com estava sendo lidodepoiswww.domain.com devido ao esquema de nomenclatura .conf. Renomeei domain1-dev.conf para dev-domain1.com e tudo funciona muito bem agora, pois dev.domain.com está sendo lido antes de www.domain.com, o que é como um genérico.
Isso não teve nada a ver com portas ou qualquer coisa fora das configurações do VirtualHost do Apache. Aqui está o que usei para ajudar a determinar a ordem de leitura:
$PATH_TO_APACHE_DIR/bin/httpd -S