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

WordPress子文件夹HTTP访问被错误重定向到根域名HTTPS如何解决?

问题根源

子目录下.htaccess中Really Simple SSL自动生成的HTTP转HTTPS规则存在逻辑错误:RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]里的/$1会强制将路径重置到站点根目录,导致子文件夹路径丢失。

修复步骤

1. 修改子文件夹下的.htaccess规则

将子目录.htaccess中#BEGIN ReallySimpleSSL段的代码替换为以下内容:

#BEGIN ReallySimpleSSL
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
# 直接使用原始请求完整路径,不会丢失子目录
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
#END ReallySimpleSSL
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /subfolder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subfolder/index.php [L]
</IfModule>
# END WordPress

2. 修复根目录.htaccess语法错误

你提供的根目录.htaccess末尾存在多余的</IfModule>闭合标签,删除该行即可,避免规则解析异常。修改后的根目录.htaccess参考:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

3. 确认WordPress站点地址配置

登录子站点WordPress后台,进入「设置」-「常规」页,确认两个地址配置正确:

  • WordPress地址(URL):https://www.example.com/subfolder
  • 站点地址(URL):https://www.example.com/subfolder

4. 缓存清理与测试

301是永久重定向,会被浏览器长期缓存,修改完成后需完全清除浏览器缓存,或使用隐私窗口访问http://www.example.com/subfolder验证跳转效果。

注意事项

后续如果在Really Simple SSL插件内执行重新配置操作,插件可能会覆盖你自定义的重定向规则,建议将HTTPS重定向代码移到#BEGIN ReallySimpleSSL注释块之外,避免被自动覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:15:05