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

htaccess配置301重定向丢失HTTPS且出现307跳转问题求助

.htaccess重定向异常问题修复方案

根因说明

  • 你配置的protossl环境变量未在重定向规则中实际调用,且使用相对路径执行重定向未指定协议,最终导致HTTPS丢失
  • 若原始请求为POST类型,浏览器默认会修改301重定向的请求方法,部分浏览器为保留原请求方法和请求体,会自动将301升级为307重定向,强制使用HTTPS绝对路径重定向即可解决该异常

修复后的配置

你可以直接使用强制HTTPS的简化配置,代码如下:

<IfModule mod_rewrite.c>
  RewriteEngine on
  # 先统一强制跳转HTTPS,避免协议丢失
  RewriteCond %{HTTPS} !=on
  RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
  # 旧文件夹到新文件夹的重定向,使用绝对路径保证协议正确
  RewriteRule ^old_folder/(.*)$ https://%{HTTP_HOST}/new_folder/$1 [L,QSA,R=301]
</IfModule>

如果你需要保留原有的protossl变量写法,可修改为如下配置:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^ - [E=protossl]
  RewriteCond %{HTTPS} on
  RewriteRule ^ - [E=protossl:s]
  # 重定向时调用protossl变量拼接协议,使用完整绝对路径
  RewriteRule ^old_folder/(.*)$ http%{ENV:protossl}://%{HTTP_HOST}/new_folder/$1 [L,QSA,R=301]
</IfModule>

验证注意事项

  • 修改配置后重启Apache服务
  • 清理浏览器缓存(301为永久重定向,浏览器会长期缓存旧规则)
  • 重新发起请求验证重定向状态码和协议

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:36:04