当使用第三方主题时,一些外部依赖项会使用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
对吗?
SO网友:socki03
通常,强制SSL的问题来自外部请求,这与您的无关。htaccess文件。这应该只处理进入站点的请求,而不是从站点发出的请求。
你的第二本能是正确的,据我所见和研究//
方法使用当前的请求方法来请求外部资源。所以,如果你要通过http://
, 它将通过http://
这同样适用于https://
.
至于固定主题或子主题,如果主题构建正确,则应该使用wp_enqueue_script
或wp_enqueue_style
实现外部调用(希望它们不会在标题中以HTML格式打印出来)。
如果您知道脚本的名称,我建议您运行一个子主题或mu插件,然后dequeuing &;re-enqueuing 所讨论的样式或脚本:https://themify.me/docs/enqueue-scripts
由于没有任何具体的例子,我不确定我是否能提供比我已经链接到的更多的代码。
我希望你觉得这很有用。