You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

WordPress多站点迁移后子域名持续重定向至主站求助

WordPress多站点子域名迁移后重定向主站的排查与解决方案

咱们一步步拆解你的子域名重定向到主站的问题,逐个排查解决:

1. 先处理Wordfence的缓存与拦截规则

你的.htaccess里包含大量Wordfence的IP拦截和页面缓存代码,这些缓存很可能保留了旧的站点地址规则,导致重定向:

  • 登录主站点的Wordfence后台,找到Web Application Firewall -> Cache Management,点击Clear All Caches清除缓存。
  • 暂时禁用Wordfence的缓存功能(之后可重新配置),然后重命名wp-content/wfcache文件夹为wfcache_old,强制清除已生成的缓存文件。
  • .htaccess里Wordfence相关的代码(从#WFIPBLOCKS#WFCACHECODE的所有内容)暂时注释或删除,先排除它的干扰。

2. 验证多站点核心配置是否正确

多站点的子域名配置有几个关键细节容易遗漏:

  • 打开wp-config.php,确认以下参数是否正确:
    define('WP_ALLOW_MULTISITE', true);
    define('SUBDOMAIN_INSTALL', true); // 必须设为true,适配子域名模式
    define('DOMAIN_CURRENT_SITE', '你的主域名.com'); // 例如humsc.net
    define('PATH_CURRENT_SITE', '/');
    define('SITE_ID_CURRENT_SITE', 1);
    define('BLOG_ID_CURRENT_SITE', 1);
    
  • 登录数据库,检查wp_blogs表:找到对应子站点的记录,确认domain字段是你的新子域名(比如sub.humsc.net),path字段为/
  • 检查子站点对应的选项表(比如wp_2_options,数字对应站点ID),确认siteurlhome字段的值都是新子域名的完整地址(比如https://sub.humsc.net)。

3. 重置.htaccess为标准子域名多站点规则

你的.htaccess里有重复的WP Super Simple Speed优化代码(出现了两次),还有各种缓存规则,很容易和多站点的重写规则冲突。先替换成官方标准的子域名多站点规则:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Add trailing slash to wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress

替换后保存.htaccess,确保文件权限为644,服务器可正常读取。

4. 清除所有层级的缓存

重定向问题很多时候是缓存在搞鬼:

  • 浏览器缓存:用Ctrl+Shift+R(Windows)或Cmd+Shift+R(Mac)强制刷新子域名页面,或者直接清空浏览器缓存。
  • 服务器缓存:如果你的主机用了nginx、Apache缓存模块或CDN服务,联系主机提供商清除服务器缓存,或在CDN后台手动刷新缓存。
  • WordPress缓存插件:如果用了其他缓存插件(比如WP Rocket、W3 Total Cache),先禁用并清除它们的缓存。

5. 排查其他可能的重定向来源

如果以上步骤都没解决,检查以下内容:

  • 子站点的插件:比如Redirection这类重定向插件,是否有旧规则指向主站,可暂时禁用所有插件测试。
  • 主题的functions.php:检查是否有wp_redirect()或者header('Location: ...')这类强制重定向的代码。
  • 服务器虚拟主机配置:确认子域名的DocumentRoot是否正确指向迁移后的站点文件目录,有没有在虚拟主机配置里添加重定向规则。

按照这个流程走下来,应该能定位并解决重定向问题。

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

火山引擎 最新活动