在wp_Options中将http更改为HTTPS

时间:2017-05-14 作者:user5858

我收到了很多警告,比如:

 Mixed Content: The page at \'https://www.example.in/\' was loaded over HTTPS, but requested an insecure image \'http://www.example.in/wp-content/uploads/2014/12/logo_250.png\'. This content should also be served over HTTPS.
跟踪之后SSL breaks customizer: page isn't returned from ajax 回答:我可以修复许多警告。

我已经从mysql运行了以下命令:

UPDATE wp_posts SET guid = replace(guid, \'http://www.example.com\',\'https://www.example.com\');
UPDATE wp_posts SET post_content = replace(post_content, \'http://www.example.com\', \'https://www.example.com\');
UPDATE wp_postmeta SET meta_value = replace(meta_value,\'http://www.example.com\',\'https://www.example.com\');
现在仍有许多图像在值列中的wp\\u options表中使用http:prefix。

当我运行此程序时,虽然我能够在浏览器的地址栏中获得绿色安全锁,但网站已崩溃:

UPDATE wp_options SET option_value = replace(option_value, \'http://www.example.com\',\'https://www.example.com\');
实际上在wp_optionsoption_name qode_options_proya 以JSON格式存储。如果我们以这种JSON格式从http更改为https,就会导致一些问题。如何解决?

3 个回复
SO网友:bynicolas

是的,你需要更新的不仅仅是siteurl 如果希望正确更新每个引用(包括帖子和附件),则返回值。

您不能用简单的SQL查询来更新它,因为您将破坏数组的序列化。

你能做的最好的事情就是使用Search Replace DB.

从github下载脚本,将其上载到服务器的子文件夹中。例如,https://example.com/searchdb 并按照那里的说明进行操作。

您只需搜索http://example.com 并替换为https://example.com. 但您可以搜索和替换数据库中的几乎任何内容。

请记住,这将在数据库中执行查询并编辑内容。。。因此,您最好对数据库进行良好的备份,以防出现问题。

我从来没有对剧本有任何问题,它工作得很好。。。但安全总比后悔好。

最后一件事。。。REMEMBER TO DELETE THE SUBFOLDER AFTER USAGE. 你不希望脚本被放在一个开放的服务器上!

SO网友:Porosh Ahammed

You can try this:

 UPDATE `wp_options` SET `option_value` = "https://www.yoursite.com" WHERE `wp_options`.`option_name` = \'siteurl\';
SO网友:user5858

wp\\u options option\\u值包含JSONified值。我们无法手动更改它。

在Bridge主题Quode选项中,我必须再次保存要更新的JSON的徽标,这很有效。否则更改JSON只会损坏它。

结束