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

WordPress IP与URL互跳陷入重定向循环问题求助

WordPress多站点IP转域名后重定向循环解决方法

问题背景

此前通过IP地址搭建WordPress多站点,绑定域名后修改wp-config.php中的站点URL,出现域名与IP地址互相跳转的重定向死循环,当前.htaccess配置如下:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a 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]

# WP Maximum Execution Time Exceeded
<IfModule mod_php5.c>
        php_value max_execution_time 300
php_value upload_max_filesize 200M
</IfModule>

解决步骤

1. 补全wp-config.php多站点配置

多站点模式下仅修改site_url不足以完全切换域名,需添加/修正以下常量:

// 主站点URL
define('WP_HOME','https://你的域名');
define('WP_SITEURL','https://你的域名');
// 多站点核心配置
define('DOMAIN_CURRENT_SITE', '你的域名');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

同时需检查数据库:

  • wp_blogs表:将所有domain字段值替换为新域名
  • 各子站点对应的wp_*_options表:将siteurl和home字段值替换为新域名

2. 修正.htaccess添加强制跳转规则

在现有配置开头添加IP转域名的强制跳转,切断循环源头:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# 新增:强制将IP访问跳转到域名
RewriteCond %{HTTP_HOST} ^你的IP地址$
RewriteRule ^(.*)$ https://你的域名/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a 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]

# WP Maximum Execution Time Exceeded
<IfModule mod_php5.c>
        php_value max_execution_time 300
php_value upload_max_filesize 200M
</IfModule>

3. 清除缓存

  • 若能登录WordPress后台,清除站点缓存(含缓存插件的缓存)
  • 清除本地浏览器缓存,或使用无痕模式测试,避免旧301缓存干扰

4. 检查服务器虚拟主机配置

  • Apache:确保虚拟主机的ServerName和ServerAlias仅设置为新域名,移除IP相关配置
  • Nginx:确保server块的server_name为新域名,添加IP访问的跳转规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:45:31