强制使用SSL(错误的主题编码)

时间:2017-06-05 作者:user1235285

当使用第三方主题时,一些外部依赖项会使用HTTP协议排队,如果您不使用SSL,并且子主题允许完全控制所有这些元素,这很好,在这种情况下,我可能会错过一些内容,或者通过另一个样式表排队-我使用grep via terminal来查找可能发生这种情况的位置,但运气不佳。

不幸的是,我发现在某些情况下,当构建这些主题时,逻辑会直接跳出窗口,并且不能通过主题代码强制使用HTTPS(编辑父主题的条,这违背了这一点)。

我曾希望有一种方法可以通过HTAccess强制所有(或在必要时进行选择性)HTTP请求,方法大致如下:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^fonts.googleapis\\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://fonts.googleapis.com/$1 [R,L]
这是行不通的——除非我做了一些明显错误的事情?

以前有人遇到过这种情况并找到了解决方案吗?

另一方面,我认为最好的做法是不带前缀排队,比如:

//fonts.googleapis.com
对吗?

2 个回复
SO网友:Frank P. Walentynowicz

我会推荐SSL Insecure Content Fixer插件,解决了所有混合内容问题。我在许多网站上成功地使用了它。无需更改主题。

SO网友:socki03

通常,强制SSL的问题来自外部请求,这与您的无关。htaccess文件。这应该只处理进入站点的请求,而不是从站点发出的请求。

你的第二本能是正确的,据我所见和研究// 方法使用当前的请求方法来请求外部资源。所以,如果你要通过http://, 它将通过http:// 这同样适用于https://.

至于固定主题或子主题,如果主题构建正确,则应该使用wp_enqueue_scriptwp_enqueue_style 实现外部调用(希望它们不会在标题中以HTML格式打印出来)。

如果您知道脚本的名称,我建议您运行一个子主题或mu插件,然后dequeuing &;re-enqueuing 所讨论的样式或脚本:https://themify.me/docs/enqueue-scripts

由于没有任何具体的例子,我不确定我是否能提供比我已经链接到的更多的代码。

我希望你觉得这很有用。

结束

相关推荐

Chrome版本44.0.2403.89 m正在尝试强制HTTPS

随着Chrome 44.0.2403.89 m版的发布,我注意到我们的网站现在已经完全崩溃了。所有HTTP URL都被重定向到HTTPS URL,这是一个问题,因为我们的网站not 支持HTTPS。请注意,这在任何其他浏览器中都不会发生,并且是在之前的Chrome版本中进行的。我曾尝试用相对链接替换所有样式表调用,但自动加载或通过绝对路径加载的图像以及导航仍然存在问题。请参阅下图,了解在接受安全警告并继续操作后导航时引发的错误页面。任何人都有任何关于更新的建议。htaccess文件失效,还是函数中出现了什