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

Apache2配置多子域名站点失效问题求助

解决多WordPress站点的301重定向问题

看来你遇到的是Apache虚拟主机匹配优先级+WordPress自身配置导致的重定向问题,我帮你一步步排查解决:

1. 检查Apache虚拟主机的加载顺序与默认站点

Apache会按照/etc/apache2/sites-enabled/下的软链接文件名排序加载虚拟主机配置,第一个加载的虚拟主机会成为默认站点(当请求的域名没有匹配到任何ServerName时,比如example.com)。

  • 先查看当前启用的站点排序:
    sudo ls -la /etc/apache2/sites-enabled/
    
  • 如果发现000-default.conf还在启用状态,先禁用它避免干扰:
    sudo a2dissite 000-default.conf
    sudo systemctl restart apache2
    
  • 只要ServerName设置正确,Apache会精准匹配域名,除非配置有语法错误,这点我们下一步验证。

2. 验证Apache配置语法正确性

配置语法错误是很多重定向问题的隐形根源,先做检查:

sudo apache2ctl configtest

如果输出Syntax OK就没问题,否则根据提示修正配置文件后重启Apache。

3. 检查test2站点的WordPress站点URL设置

这是最可能导致test2重定向到test1的原因:复制WordPress站点到test2目录时,数据库里的站点URL还保留着test1的地址,WordPress会自动发起301重定向。

  • 登录到test2的数据库,执行以下SQL查询(注意替换表前缀,如果你的前缀不是wp_):
    SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');
    
  • 确保这两个值都是http://test2.example.com(如果WordPress安装在根目录);如果是子目录/reeme安装,则应该是http://test2.example.com/reeme。
  • 如果值不正确,执行更新语句:
    UPDATE wp_options SET option_value = 'http://test2.example.com' WHERE option_name = 'siteurl';
    UPDATE wp_options SET option_value = 'http://test2.example.com' WHERE option_name = 'home';
    

4. 修正test2站点的.htaccess配置

你提供的.htaccess里RewriteBase /reeme/和RewriteRule . /reeme/index.php [L]需要和实际安装路径匹配:

  • 如果WordPress安装在test2的根目录(/path/test2),正确的.htaccess应该是:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
  • 如果确实安装在/reeme子目录,要确保站点URL已经正确指向该子目录,同时.htaccess配置要和站点URL对应。

5. 清除浏览器缓存后测试

301重定向会被浏览器强缓存,测试前一定要清除Chrome的缓存,或者用隐私模式打开test2.example.com,验证重定向是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:38:21