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

WordPress站点HTTPS+WWW全流量重定向异常:主域有效子页面失效

解决WordPress子页面仅重定向WWW不跳转HTTPS的问题

嘿,我之前也碰到过一模一样的问题!大概率是你的重定向规则顺序不对,或者被WordPress自带的rewrite规则给覆盖了,导致子页面的请求没走到你的重定向逻辑里。咱们一步步来搞定:

核心问题分析

你说根域名能正常跳转,但子页面只跳WWW不跳HTTPS,十有八九是把自定义重定向规则放在了# BEGIN WordPress注释之后——WordPress自带的规则会优先处理所有请求(包括子页面),你的重定向规则根本没机会执行就被接管了。

正确的解决方案

首先,把所有自定义重定向规则放在.htaccess文件的最顶部,也就是# BEGIN WordPress之前。然后用下面两种可靠的规则写法二选一:

写法一:分两步跳转(清晰直观)

先强制所有流量转到HTTPS,再统一转到WWW版本,适合需要分开调试的场景:

# 第一步:强制所有非HTTPS请求跳转至HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# 第二步:强制非WWW域名跳转至WWW版本
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# 下面保留WordPress原有的规则,别改动
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

写法二:一步到位跳转(更高效)

用一条规则同时处理非HTTPS和非WWW的情况,直接跳转到最终的https://www.inspiresoftware.com,减少一次跳转请求:

RewriteEngine On
# 匹配「非HTTPS」或者「非WWW」的请求
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
# 直接重定向到目标地址
RewriteRule ^(.*)$ https://www.inspiresoftware.com/$1 [L,R=301]

# 下面保留WordPress原有的规则
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

重要注意事项

  • 备份原.htaccess文件:修改前先复制一份存好,万一写错了能立刻恢复。
  • 用301永久重定向:R=301告诉搜索引擎和浏览器这是永久跳转,避免重复跳转和影响SEO。
  • 清空浏览器缓存再测试:旧的重定向规则可能被浏览器缓存了,测试前一定要清缓存或者用无痕窗口。
  • 确认mod_rewrite开启:大多数主机默认开启这个模块,如果没开,联系你的主机商帮忙开启就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:45:01