我在apache2
服务器上设置sencond网站时遇到问题。
我目前有一个网站启动并运行,甚至是现场直播。
但是我有另一个我正在研究的网站,并且我正在尝试在本地托管它。
我使用以下
<VirtualHost *:80>
ServerName newsite
ServerAdmin webmaster@localhost
DocumentRoot /var/www/newsite/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/newsite/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
我使用a2ensite
newsite
我编辑主机文件 127.0.0.1 www.newsite.com
我已经运行a2ensite
newsite
现在,当我查看新网站时,它工作正常, 但是当我尝试查看我的原始网站时,我只获得了新网站
如果我禁用新网站(a2dissite newsite),原始网站显示正常
任何帮助将不胜感激
答案 0 :(得分:0)
我认为您没有正确设置ServerName
和ServerAlias
指令。
对于两个虚拟主机,它们都应该是这样的
ServerName newsite.com
ServerAlias www.newsite.com
ServerName oldsite.com
ServerAlias www.oldsite.com
目前发生的事情是您已经设置了一个名为newsite的虚拟主机。如果您执行http://newsite/
:您将看到新网站,但您正在执行www.newsite.com
。同样,如果你http://oldsite/
(假设设置方式相同),你也会看到oldsite。
执行www.newsite.com
时,DNS会将您引导至环回接口,但是,当apache收到请求时,它不知道如何处理它。所以它只选了一个。这与您尝试仅通过IP访问没有什么不同。
因此,您可以致电http://newsite/
或修复ServerName
和ServerAlias
指令。