Você não entendeu como <VirtualHost >
funciona. Ao usar a hospedagem virtual baseada em nome (ou seja, o mesmo IP, vários nomes de host para distingui-los), você precisa ter o ServerName
s exclusivo.
Além disso, você definiu seu DocumentRoot
para /var/www/mwiki
, o que faz com que http://localhost/
mostre seu wiki. Como você tem apenas um ServerName ( localhost
), sugiro adicionar um Alias
em vez de um host virtual.
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/var/www/reviews.mysite.com/htdocs"
AddDefaultCharset UTF-8
Alias /mywiki /var/www/mwiki
# ...
Os Hosts Virtuais só são úteis se você tiver vários IPs ou nomes de host. Exemplos:
# Use ServerNames to distinct virtual hosts on 127.0.0.1
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
ServerName site1.example.com
DocumentRoot /var/www/site1.example.com
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerName site2.example.com
DocumentRoot /var/www/site2.example.com
</VirtualHost>
<VirtualHost 127.0.0.2:80>
ServerName meh.example.com
DocumentRoot /var/www/meh.example.com
</VirtualHost>
Adicionado a /etc/hosts
:
127.0.0.1 site1.example.com
127.0.0.1 site2.example.com
# note: the next line is not included in the vhost config
127.0.0.1 invalid.example.com
127.0.0.2 meh.example.com
Agora você pode visitar os hosts usando os domínios {site1, site2, meh} .example.com. Se você abrir 127.0.0.1 ou invalid.example.com
, o primeiro vhost ( site1.example.com
) será escolhido.