1元虚拟主机

当前位置:  首页 >  常见问题 >  WordPress模板使用SSL的外链解决办法

WordPress模板使用SSL的外链解决办法

来源:未知

作者:admin

更新时间:2015-06-01 13:47

景安网络—专业的多线服务器托管商!提供快云服务器,快云VPS,虚拟主机,域名注册,网站空间,服务器托管,服务器租用,SSL证书。1元试用30天vps活动,活动进行中!查看详情

一.安装SSL证书(测试环境:VPS,win2003+IIS+PHP+MySql)
1.SSL各种环境下的安装教程请参照:
https://www.zzidc.com/main/help/showMenu/51_49.html
2.安装完成后重启web服务器测试访问。

二.https访问测试外链
1.如果有以下两种情况,说明您的网站存在外链(外部http的js、图片、样式等)。
a) 谷歌浏览器访问,确认地址栏绿色小锁是否显示正常,如果有外链,锁型标识上会有三角形。
b) 页面图片、样式是否正常显示,如果存在外链,则图片不正常显示,样式错乱、js加载不到等情况。
SSL证书使用过程中出现异常

三.解决外链
1.找出外链。
(1)用谷歌浏览器访问,按F12调出浏览器控制台界面。
(2)选择Console,F5刷新页面,查看控制台报错信息,找出外链路径及原因。
出现错误的原因
分析:
(1)通过控制台的错误信息可以大概知道是这个意思:您的网站https://***.com使用的是https安全加密协议,但是你网站上的图片资源等没有使用https的协议,这样的话这些图片等外部资源可能会有被篡改或挂马等风险而威胁到https://***.com的网站安全。
(2)通过错误的路径,可以看出这些图片资源等使用的是http://的路径,而非相对路径或者https://的路径,如果把这些http的路径改为相对路径,则此问题可以完美解决。
2.解决外链。
方案一:使用wordPress HTTPS插件解决外链问题。
(1)wordpress后台下载名称为“wordpress https(SSL)”的插件;
wordpress https(SSL)的插件
(2)启用https插件,然后测试https访问;
方案二:修改wordpress配置文件解决外链问题。
(1)修改wordpress配置文件,添加以下几行代码:
$home = 'http://'.$_SERVER['HTTP_HOST'];
$siteurl = 'http://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $home);
define('WP_SITEURL', $siteurl);
修改后如下:
(2)修改数据库ssl_options表中siteurl和home的option_value值均为:“/”。
(3)修改wp-includes/post.php文件,修改函数wp_get_attachment_url为如下代码:
function wp_get_attachment_url( $post_id = 0 ) {
   $file_dir=dirname(__FILE__); 
    $server_root=$_SERVER[DOCUMENT_ROOT]; 
    $file_dir=substr($file_dir,strlen($server_root)); 
    $file_dir=substr($file_dir,0,-12); 
    if($file_dir!=''){ 
        $file_dir='/'.substr($file_dir,1); 
    } 
    $post_id = (int) $post_id; 
    if ( !$post =& get_post( $post_id ) ) 
        return false; 
    $url = ''; 
    if ( $file = get_post_meta( $post->ID, '_wp_attached_file', true) ) { 
    //Get attached file 
        if ( ($uploads = wp_upload_dir()) && false === $uploads['error'] ) { 
        //Get upload directory 
            if ( 0 === strpos($file, $uploads['basedir']) ) 
            //Check that the upload base exists in the file location 
                //$url = str_replace($uploads['basedir'], $uploads['baseurl'], $file); 
                //replace file location with url location 
                $url=$file_dir.'/wp-content/uploads/'.$file; 
            elseif ( false !== strpos($file, 'wp-content/uploads') ) 
                //$url=$uploads['baseurl'].substr($file,strpos($file, 'wp-content/uploads') + 18 ); 
                $url=$file_dir.'/wp-content/uploads/'.$file; 
            else
                //$url = $uploads['baseurl'] . "/$file"; 
                //Its a newly uploaded file, therefor $file is relative to the basedir. 
                $url=$file_dir.'/wp-content/uploads/'.$file; 
        } 
    } 
    if ( empty($url) ) 
    //If any of the above options failed, Fallback on the GUID as used pre-2.7, not recomended to rely upon this. 
        $url = get_the_guid( $post->ID ); 
    if ( 'attachment' != $post->post_type || empty($url) ) 
        return false; 
    return apply_filters( 'wp_get_attachment_url', $url, $post->ID ); 
}
(4)登录wordpress后台,确认多媒体中图片的链接为相对路径;
(5)并在已经使用这些资源的文章、主题页面图片中重新插入此图片,或修改为与多媒体中图片一致的相对路径;
文章中重新添加媒体图片:
SSL外链解决方法
外观中重新添加图片或修改为相对的图片路径:
SSL外链解决方法
排查其他地方是否有使用多媒体资源,按照以上方法调整即可,祝您顺利!

四、外链已解决。
重新刷新页面测试访问:
(1)https正常访问,绿色小锁正常;
SSL外链问题已解决
 
(2)手机等移动设备访问正常;
 

本文链接:http://ssl.zzidc.com/changjianwenti/2015/0529/97.html

关键字:WordPress,模板,使用,SSL,的,外链,解决,办法

若无特别注明,文章皆为景安网络原创,转载请注明出处。

域名1元
 
返回顶部

联系我们

SSL产品
24小时客服热线:

4006-598-598

0371-9618961