混合内容,结合了HTTP和https

时间:2018-06-21 19:29:58

标签: wordpress .htaccess

我有wordpress网站,现在安装SSL Let´s加密证书。现在,当我访问Web时,https可以正常工作,但是我没有绿色锁->安全。

当我在首页上按F15键时,出现6个错误->内容https和http混合,徽标src =在http(wp-content / *)上运行,另外5张图像则来自其他网站。

是否可以通过.htacces解决此问题?还是一些性能良好(低负载使用率)的wp插件?因为我无法在代码中找到所有6个图像路径在哪里...

或者您有什么建议?我发现徽标在索引的30行上..但在索引中我有5行,其中包含5个文件..然后又包含文件..:D

3 个答案:

答案 0 :(得分:0)

尝试使用.htaccess强制所有流量到https,这可能会对您有所帮助。 您应该用网站域名替换example.com。

RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

Source

答案 1 :(得分:0)

我个人喜欢Really Simple SSL插件。轻巧美观,效果很好。我看到了一些“顽固”的文件,尽管有时难以捉摸,并且Insecure Content Fixer插件的结果非常好。

或者,您可以使用输出缓冲区并替换它们来将所有src属性强行强制为https,从而有效地执行“运行时查找和替换”。

add_action( 'template_redirect', 'so_50976235_force_src_ssl' );
function so_50976235_force_src_ssl(){
    ob_start( function($buffer){
        $buffer = str_ireplace( 'src="http://', 'src="https://', $buffer );
        $buffer = str_ireplace( "src='http://", "src='https://", $buffer );

        return $buffer;
    });
}

注意:使用上面的函数,它将使用安全协议积极替换所有src属性,并且我同时使用src='src=",因为某些插件会加载具有单或双属性的属性引号。

答案 2 :(得分:0)

我的方法(如果您不同意,请发表评论)...

您的Wordpress安装已针对http://进行了设置,因此,所有对图像和链接的引用均指向http://

要解决此问题,您可以使用插件Better Search and Replace在整个数据库中搜索您的旧地址,例如http://example.com并替换为https://example.com

让您先备份数据库,然后在运行搜索时在方框中打勾以包括guid

最后,您需要在.htaccess中创建一条规则,以将http://重写并传输到https://,并将其重定向到https://,以及重定向到您的首选地址www。或非www。

此工具将帮助您使用.htaccess代码https://www.htaccessredirect.net/