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

CentOS7 Apache单服务器部署多站点第二个站点跳转欢迎页问题

问题根源

从httpd -S输出可明确3个核心问题:

  • 端口80存在重复的my_site_2.com虚拟主机配置:优先级更高的/etc/httpd/conf.d/drupal.conf先于你自定义的002-site_2.conf加载,Apache会使用第一个匹配到的虚拟主机配置响应该域名请求,你写的站点2配置完全未生效
  • Apache默认按文件字母顺序加载配置,原生httpd.conf中Include conf.d/*.conf的加载顺序早于你末尾添加的IncludeOptional sites-enabled/*.conf,因此conf.d下的同名域名配置会覆盖sites-enabled下的配置
  • 你仅配置了站点2日志目录的SELinux上下文,站点根目录未配置正确的Apache访问权限上下文,也可能导致内容无法加载
解决方案
  1. 处理重复的虚拟主机配置
    先备份冗余配置文件:

    cp /etc/httpd/conf.d/drupal.conf /etc/httpd/conf.d/drupal.conf.bak
    

    若该文件无其他用途可直接删除:

    rm -f /etc/httpd/conf.d/drupal.conf
    

    若需要保留该文件,直接删除文件内所有my_site_2.com相关的虚拟主机配置段即可。

  2. 校验全局无重复域名配置

    grep -r "my_site_2.com" /etc/httpd/
    

    确保输出仅存在/etc/httpd/sites-available/002-site_2.conf和对应的软链接配置,无其他匹配项。

  3. 补全站点根目录的SELinux上下文配置

    # 给站点2根目录设置网页访问上下文
    semanage fcontext -a -t httpd_sys_content_t "/var/www/site_2(/.*)?"
    # 应用配置
    restorecon -R -v /var/www/site_2
    # 修正目录权限保证Apache可读取
    chown -R apache:apache /var/www/site_2
    
  4. 重启服务验证配置

    systemctl restart httpd
    httpd -S
    

    确认端口80的my_site_2.com仅存在1条配置,且加载路径为/etc/httpd/sites-enabled/002-site_2.conf即可正常访问站点2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:57:05