在 https:// 中设置默认 Wordpress 并将其重定向到 http:// 并在 Cloudflare 中将 http:// 转发到 https://
Posted
技术标签:
【中文标题】在 https:// 中设置默认 Wordpress 并将其重定向到 http:// 并在 Cloudflare 中将 http:// 转发到 https://【英文标题】:Setting default Wordpress in https:// and redirecting it to http:// and forwarding http:// to https:// in Cloudflare 【发布时间】:2016-05-04 01:45:43 【问题描述】:之前我已将我的默认 Wordpress 安装设置为 http:// 并在 Cloudflare 中将其重定向以使用 Https SSL,但在浏览器上出现了几个 混合内容错误 [说明 https 请求是http]。
所以,全新安装了我的整个 wordpress 以使用 https:// 但我在没有安装 SSL 证书的共享服务器上,所以现在我的整个站点重定向到 https:// 并显示 [未找到服务器错误]。
我只需要将我的 wordpress 保存在 https:// 中,以便使用站点地图和其他插件来仅访问 https:// 而不会发生冲突。
- 那么,我是否需要将 .htaccess 文件中的所有 https:// 重定向到 http://,然后将 http:// 重定向到 cloudflare 以使用 https://,并作为我的默认安装的 Wordpress 为 https://
在 .htaccess 中使用了几个规则但无济于事,请告诉我将所有 http:// 重定向到 https:// 的确切规则
RewriteCond %SERVER_PORT ^443$ 重写规则 ^(.*)$ http://%HTTP_HOST/$1 [R=301,L]
RewriteCond %HTTPS on
RewriteRule (.*) http://%HTTP_HOST%REQUEST_URI [R=301,L]
#RewriteEngine On
RewriteCond %SERVER_PORT 443
RewriteRule (.*) http://%HTTP_HOST%REQUEST_URI [R=301,L]
【问题讨论】:
【参考方案1】:如果您的服务器不侦听 443 端口,您就不能以这种方式重定向它们。
如果只有无效证书,重定向时总会出现“无效证书”错误。但它应该像这样工作:
RewriteEngine On
RewriteCond %HTTPS on
RewriteRule (.*) http://%HTTP_HOST%REQUEST_URI
您应该尝试获取有效的证书。 https://letsencrypt.org/ 和 https://www.startssl.com/ 是免费开始的好方法。
【讨论】:
感谢 Kneecht.. 但是不允许在我的共享服务器主机上安装 Ssl :( 有什么替代方法可以使用 https? 您可以尝试以下方法:RewriteCond %HTTP:CF-Visitor '"scheme":"http"' RewriteRule ^(.*)$ https://www.domain.com/$1 [L]
有关详细信息,请参阅gomah.fr/server-tips/…。但请注意,CloudFlare 的灵活 SSL 从来都不是安全的,你只是“欺骗”了用户。
这条规则有效,但是 https:// 没有重定向或挂锁指向 :( RewriteCond %HTTP_HOST ^reviewsanswers\.com$ [NC] RewriteRule ^(.*)$ reviewsanswers.com/$1 [ R=301,L]
现在您只需重写 reviewanswers.com,而不是 www.reviewanswers.com。这就是您的 JS / CSS 未加载的原因。顺便说一句,您应该尝试加载您的 CSS / JS,例如 //example.com/style.css
【参考方案2】:
你解决了这个问题吗?也许您需要将其添加到您的 wp-config.php
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
$_SERVER['HTTPS']='on';
它告诉您的 wordpress 虚拟机使用 wordpress 服务器上的 (cloudflare) 主机名。如果 SSL 由 cloudflare 完成,这可以工作,因为 LoadBalance 后面的流量是非 SSL 流量。但我根本不知道 Cloudflare 的详细信息;)
另外,您需要将 wordpress homeurl 和 siteurl 设置为您的用户应该看到的 https 域。
【讨论】:
以上是关于在 https:// 中设置默认 Wordpress 并将其重定向到 http:// 并在 Cloudflare 中将 http:// 转发到 https://的主要内容,如果未能解决你的问题,请参考以下文章