在 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://的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GitHub.com 中设置默认分支?

如何在 Google App Engine 中设置我的默认版本

如何在 Vue 的元素 UI 中的选择选项中设置默认值?

JIRA中设置[描述]字段的默认值

如何在 Google iOS 登录屏幕中设置项目名称?

如何在sidekiq中设置全局重试限制?