ServerName 通过在浏览器中通过 URL 运行良好,ServerAlias 则转到默认网站。网站的错误日志中没有什么特别之处。
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /data/sites/domain.com/www/docs
ErrorLog /data/sites/domain.com/www/logs/error.log
CustomLog /data/sites/domain.com/www/logs/access.log combined
</VirtualHost>
谢谢
这是默认虚拟主机:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
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>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
答案1
您的默认 中不ServerName
存在VirtualHost
。这意味着 Apache 将尝试使用 DNS 找出主机名。如果它猜测正确的名称是,它将把请求发送到该地址,而不是将它们提供给具有该名称的 的www.domain.com
虚拟主机。ServerAlias
ServerName
在其中设置垃圾VirtualHost
,看看是否有帮助。
要不就a2dissite default
。
答案2
您需要在 DNS 设置中为 www 子域名提供 CNAME 记录...您检查过吗?