WordPress开启ssl同时支持http访问教程
解决办法:
把资源的引用从http改成https,具体用神马办法呢?
这里的方案是让http和https两种访问方式并存。而不是只允许https访问哈!!!
- 将siteurl和home都从 http://www.httple.net 改成 https://www.httple.net—— 不必须
- 在wp的数据库中运行: SELECT * FROM
wp_options
where option_value like ‘http://%’; 查找http的条目,改成https协议。 —— 不必须 - vim /etc/nginx/nginx.conf 在443端口的https中添加: —— 不必须
add_header Front-End-Https on;
nginx -s reload - 编辑当前主题下的 functions.php 文件 HTTPS 相对链接替换 —— 必须,同时支持http和https协议访问
//WordPress SSL
function deaboway_ssl(){
if( is_ssl() ){
function deaboway_ssl_main ($content){
$siteurl = get_option('siteurl');
$upload_dir = wp_upload_dir();
$content = str_replace( 'http:'.strstr($siteurl, '//'), strstr($siteurl, '//'), $content);
$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), strstr($upload_dir['baseurl'], '//'), $content);
return $content;
}
ob_start("deaboway_ssl_main");
}
}
add_filter('get_header', 'deaboway_ssl');
特别注意:如果用了CDN的话,记得使用支持HTTPS协议的CDN,要不然会出问题
Crypto change setting
{
"Name": "SSL",
"Old value": "flexible",
"Type": "crypto",
"Value": "full",
"Zone name": "httple.net"
}