Como configurar diferentes documentroot para solicitações baseadas em IP e diferentes para solicitações baseadas em domínio [fechado]

0

Meu problema é simplesmente que eu tenho um domínio, digamos example.com, e o endereço IP do meu servidor é, por exemplo, 192.168.0.1.

Quero configurar dois hosts virtuais diferentes, portanto, quando o usuário digitar o endereço IP (192.168.0.1) em seu navegador, ele verá o conteúdo a partir daqui: / var / www / staging

Mas se o usuário digitar example.com, ele verá o conteúdo daqui: / var / www

Eu acho que é possível, mas eu estava brincando com ele e não consegui fazê-lo funcionar.

Também não quero fazer redirecionamentos simples. Sei que posso, mas preciso que meus dois aplicativos (ao vivo e em preparação) trabalhem na raiz no mesmo servidor. Não consigo comprar o segundo domínio e não consigo associar um novo endereço IP.

Karol
fonte
Por que -1? se for impossível, me avise. Se estiver faltando alguma informação, informe-me também ... fornecerei.
295 Karol
Por que você não pode comprar outro nome de domínio?
John Gardeniers

Respostas:

2

Certamente é possível.

Com hosts virtuais baseados em nome, solicitações sem Host:cabeçalho ou com o Host:cabeçalho definido como um endereço IP irão para o host virtual padrão.

Solicitações com o Host:cabeçalho definido como example.comirão para o primeiro host virtual listado que corresponda a esse nome na diretiva ServerNameou ServerAlias.

Você pode usar apache2ctl -Spara ver quais hosts virtuais você configurou atualmente e qual é o padrão.

Ladadadada
fonte
Ontem fiz exatamente dessa maneira, e funciona. Pensei em publicar minha solução de trabalho hoje, mas você foi o primeiro. Obrigado!
29412 Karol
2

Seria muito mais fácil se você apenas usasse Hospedagem Virtual Baseada em Nome . Configure seu DNS com registros A apontando example.com e staging.example.com para o endereço IP da máquina e, em seguida, tenha dois vhosts adequadamente configurados aguardando resposta

Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com
    ...
</VirtualHost>

<VirtualHost *:80>
    ServerName staging.example.com
    DocumentRoot /var/www/staging.example.com
    ...
</VirtualHost>
user619714
fonte
Por que não pode marcar duas perguntas como aceite ...
Karol