You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache2双站点配置问题:www.second-site.example指向主站点异常

解决Apache中www.second-site.example指向主站点的问题

这是Apache虚拟主机配置里非常常见的问题,我来给你拆解下原因和解决办法:

问题根源

Apache的虚拟主机匹配逻辑是这样的:当收到一个请求时,它会先找和请求域名完全匹配的ServerName或者ServerAlias;如果找不到任何匹配项,就会默认把请求转发到配置文件中第一个定义的<VirtualHost>块。

你现在的配置里,第二个站点只设置了ServerName second-site.example,完全没管www.second-site.example这个子域名。所以当用户访问www.second-site.example时,Apache找不到对应的匹配规则,就自动把请求转到第一个虚拟主机(也就是你的主站点)了。

快速修复方案

只需要给第二个虚拟主机添加一行ServerAlias,把www子域名包含进去就行:

<VirtualHost *:80>
    ServerAdmin hello@example.com
    DocumentRoot /var/www/example.com/public_html/
    ServerName second-site.example
    ServerAlias www.second-site.example  # 新增这个别名
</VirtualHost>

验证并生效

  1. 先检查配置有没有语法错误:
apache2ctl configtest

看到Syntax OK就说明没问题。
2. 重启Apache服务让修改生效:

systemctl restart apache2

做完这两步,再访问www.second-site.example,就会正确指向你的第二个站点了。

内容的提问来源于stack exchange,提问作者Pop Alexandru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:40:42