apache - 重定向加载 http 而不是 https
问题描述
我希望我的网站始终以 https 加载,我认为我已经设置了,但显然,有时在重定向期间我的网站仍然加载 http。
我目前有以下代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,NE,L]
我的主机提供商向我发送了一个链接,其中显示了以下代码:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
我的问题是,我应该采用他们的方法还是可以在我的 htaccess 代码中添加一些东西,以便所有重定向都加载为 https。
编辑:有谁知道这段代码实际上是做什么的?
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
解决方案
这个CF-Visitor
此标头是一个 JSON 对象,仅包含一个名为“scheme”的键。含义与上述 X-Forwarded-Proto 的含义相同 - 例如,它将是 HTTP 或 HTTPS,并且仅当您需要在 Cloudflare 设置中启用灵活 SSL 时才相关。
因此,要检查最好检查 htpps
同一服务器上的天气设置或使用这样的 cloudfare:
RewriteEngine On
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"' [OR]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
注意:清除浏览器缓存测试
推荐阅读
- git - 如何在不从其他分支拉出的情况下继续在主分支上工作
- excel - 替换为 3 个条件失败 - Excel VBA
- mysql - sequlize 与客户共享交易
- python - coco json的图像分割掩码到多边形
- javascript - 在 React 中使用 Grid 时出现 Material UI 错误
- python - 如何在 Django 中集成特定属性
- excel - 我应该更好地修改 .ClearContents 的一些代码吗?
- python - 多维实现的交叉熵
- applescript - Automator 在下载时抛出错误,但下载仍然完成?
- r - 如何在 purrr::map()“列表或原子向量”参数的参数中引用变量索引?