我在vps服务器上托管两个域。域名,比如www.abc.net(或abc.net)和www.xyz.net(或xyz.net)有以下配置
<VirtualHost *:80>
ServerName abc.net
ServerAlias www.abc.net
ServerAdmin webmaster@localhost
DocumentRoot /var/www/abc.net
ErrorLog ${APACHE_LOG_DIR}/abc.net.error.log
CustomLog ${APACHE_LOG_DIR}/abc.net.access.log combined
</VirtualHost>
和
<VirtualHost *:80>
ServerName xyz.net
ServerAlias www.xyz.net
ServerAdmin webmaster@localhost
DocumentRoot /var/www/xyz.net
ErrorLog ${APACHE_LOG_DIR}/xyz.net.error.log
CustomLog ${APACHE_LOG_DIR}/xyz.net.access.log combined
</VirtualHost>
除了这些,我有默认的apache2 00-default-site.conf (未更改)和rutorrent.conf
<VirtualHost *:80>
ServerAlias *
DocumentRoot /var/www/
CustomLog /var/log/apache2/rutorrent.log vhost_combined
ErrorLog /var/log/apache2/rutorrent_error.log
SCGIMount /rutorrent/RPC2 127.0.0.1:5000
<Directory "/var/www/rutorrent">
AuthName "user1"
AuthType Basic
Require valid-user
AuthUserFile /var/www/rutorrent/.htpasswd
</Directory>
</VirtualHost>
假设我的ip为t.u.v.w,我有以下/ etc / hosts文件集
127.0.0.1 localhost
127.0.1.1 template.pcsmarthosting.co.uk template
t.u.v.w abc.net
t.u.v.w xyz.net
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
我可以正确访问www.abc.net,因为它转到正确的文件夹,但www.xyz.net转到/ var / www /与http://t.u.v.w相同
www.xyz.net即使是唯一启用的网站也不起作用。
我该如何解决这个问题?
答案 0 :(得分:1)
系统主机名可能是www.xyz.net,这意味着000-default的行为就好像隐含了“ServerName www.xyz.net”。
你应该在000-default中放置一个虚拟ServerName,这样就没有风险了。