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

Ubuntu服务器Apache虚拟主机配置失效问题求助

解决Apache2虚拟主机多域名指向同一站点的问题

我之前也碰到过一模一样的情况,明明配置了两个虚拟主机文件,结果访问两个域名都跳去同一个站点,大概率是几个细节没处理到位,咱们一步步排查解决:

  • 确认虚拟主机的域名标识是否正确
    每个.conf配置文件里必须明确指定ServerName,这是Apache区分不同站点的核心。比如:

    • 在levsite.nl.conf里要写:
      ServerName levsite.nl
      ServerAlias www.levsite.nl  # 如果需要支持www前缀的话加上
      DocumentRoot /var/www/levsite.nl
      
    • 在informaticaproject.nl.conf里对应写:
      ServerName informaticaproject.nl
      ServerAlias www.informaticaproject.nl
      DocumentRoot /var/www/informaticaproject.nl
      

    要是ServerName写错或者没设置,Apache会把请求默认导向第一个加载的站点,这就是你碰到的情况。

  • 检查配置文件是否被正确启用
    Apache不会自动加载sites-available目录下的配置,得手动启用:

    sudo a2ensite levsite.nl.conf
    sudo a2ensite informaticaproject.nl.conf
    

    另外别忘了禁用默认的000-default.conf,它可能会抢占所有未匹配的请求:

    sudo a2dissite 000-default.conf
    
  • 验证配置语法是否合法
    哪怕一个小拼写错误,都会导致Apache忽略整个配置文件,用这个命令检查:

    sudo apache2ctl configtest
    

    只有输出Syntax OK才说明配置没问题,要是报错就跟着提示修改对应的行。

  • 确保站点目录权限正确
    Apache的运行用户(通常是www-data)需要能读取站点文件,给两个目录设置正确权限:

    sudo chown -R www-data:www-data /var/www/levsite.nl
    sudo chmod -R 755 /var/www/levsite.nl
    sudo chown -R www-data:www-data /var/www/informaticaproject.nl
    sudo chmod -R 755 /var/www/informaticaproject.nl
    
  • 重启Apache让配置生效
    所有修改完成后,必须重启服务才能生效:

    sudo systemctl restart apache2
    
  • 清除浏览器缓存测试
    有时候浏览器会缓存旧的跳转记录,导致测试结果不准,建议用匿名窗口访问两个域名,或者清除浏览器缓存后再试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:03:33