.htaccess中HTTPS重定向规则失效,如何配置historylearning.com的HTTPS?
正确配置HTTPS重定向及相关平台设置指南
嘿,你当前的.htaccess规则完全搞反啦——现在的代码是把HTTPS请求重定向到HTTP,这和你想要的「非安全站点跳转到HTTPS」正好相反!先给你修正后的规则,再一步步讲Cloudflare、OVH主机和Typo3 CMS需要检查的配置。
一、修正.htaccess的HTTPS重定向规则
替换你现有的代码为以下内容:
RewriteEngine On # 检查两种情况:直接访问时HTTPS未开启,或者通过Cloudflare代理时原始协议不是HTTPS RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP:X-Forwarded-Proto} !https # 重定向到对应的HTTPS地址,301是永久重定向,L表示终止后续规则 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
为什么要加X-Forwarded-Proto?因为Cloudflare作为反向代理,会把HTTPS请求转换成HTTP发送到你的OVH源站,所以直接检查%{HTTPS}会一直显示off,必须通过这个请求头判断用户实际使用的协议。
二、Cloudflare平台的关键设置
- SSL/TLS模式:进入Cloudflare控制面板的「SSL/TLS」->「概述」,选择「严格」模式(前提是你的OVH主机已经安装了有效SSL证书);如果暂时还没装证书,可以先选「灵活」过渡,但最终一定要切换到严格保证安全。
- 始终使用HTTPS:在「SSL/TLS」->「边缘证书」里,开启「始终使用HTTPS」选项,这会自动强制所有HTTP请求跳转到HTTPS,和.htaccess规则形成双重保障。
- DNS解析状态:确认你的域名DNS记录是橙色云朵图标(表示开启Cloudflare代理),只有开启代理,Cloudflare的HTTPS功能才会生效。
- 页面规则冲突检查:检查「规则」->「页面规则」里有没有和HTTPS重定向冲突的规则,比如旧的HTTP强制跳转规则,避免互相干扰。
三、OVH主机的配置检查
- SSL证书安装:登录OVH主机控制面板,找到「SSL证书」选项,申请并安装免费的Let's Encrypt证书(OVH支持一键部署),确保证书状态为「已激活」。
- .htaccess权限:如果是共享主机,确认主机面板里没有禁用
.htaccess功能(通常默认允许,但可以在「Web」->「站点配置」里检查)。 - 服务器端口:确保OVH主机的443端口(HTTPS默认端口)是开放的,共享主机一般不需要手动设置,独立服务器则需要确认防火墙规则。
四、Typo3 CMS的内部配置调整
- 站点基础URL:进入Typo3后台的「站点管理」,编辑你的站点,把「基础URL」修改为
https://historylearning.com。 - 配置文件更新:检查
LocalConfiguration.php文件,确保['SYS']['baseURL']或['SYS']['siteURL']设置为HTTPS地址,避免系统生成HTTP链接。 - 清理缓存:在后台的「系统」->「清除缓存」里,清空所有缓存,确保旧的HTTP地址不会被缓存影响。
完成以上步骤后,建议用浏览器的隐私模式测试,或者用在线工具检查重定向是否生效,同时确认网站所有资源(图片、脚本等)都使用HTTPS链接,避免出现混合内容警告。
内容的提问来源于stack exchange,提问作者Bashabi
相关产品推荐
相关产品推荐

