Force SSL 100%?

时间:2015-08-26 作者:Mike

为了完全从HTTP移动到HTTPS,导出数据库并用HTTPS替换所有HTTP://links是最佳做法吗?

我做到了这一点,并确保数据库中100%的链接都是https,现在就是这样。但我仍然有一些问题:

我在源代码中找到的一些链接(实际上是来自wordpress函数的链接,如wp\\u nav\\u menu())仍在返回httphttps://www.example.com, WordPress重定向到http://www.example.com 即使站点url设置为https

有什么提示吗?

迈克

1 个回复
SO网友:Mark Kaplun

如果wordpress API为您提供http而不是https,这意味着您的数据仍包含http,因此您可能需要更仔细地查看数据库中的URL,对于此特定功能,您应该查看菜单。

但解决此问题的最简单方法可能是使用ob_start 在初始化事件上,并在替换所有http://mydomainhttps://mydomain.

add_action(\'init\',\'wpse199859_stat_buffering\',0);

function wpse199859_stat_buffering() {
    ob_start();
}

add_action(\'shutdown\',\'wpse199859_stop_buffering\',0);

function wpse199859_stop_buffering() {
    $o = ob_get_contents();
    echo str_replace(\'http://mydomain\',\'https://mydomain\',$o);
}