wordpress如何把全站资源变成https访问

随着https的普及,越来越多的网站都从http升级到https。可是启用https配置后,还要进行一连串的操作才可以让我们的网站实现全站https访问。毫无疑问,很多wordpress用户在配置https时都会碰到各式各样的问题,而没法完成wordpress整站开启https访问的配置,下面小编就为wordpress站长详细介绍一下如何把全站资源变成https访问。

wordpress如何把全站资源变成https访问

1、修改wordpress后台设置地址

打开wordpress后台→设置→常规选项→WordPress地址和站点地址的http都改为https。

wordpress网站后台设置

通过上图操作现已基本实现wordpress全站https,也就是说网站中绝大多数链接都由wordpress系统自动更改为https,当然也有一些内链或是插件需要手动调整。

2、手动修改正文中的内部链接

一般可以通过更新数据库或者function代码来完成。2种方法中小编更倾向于选择后者,因为要是我们对数据库的更新不正确,会给网站带来毁灭性的影响。这里主要介绍代码的方式,从主题目录中找到function.php文件,加入下列代码:

//转换http为https
add_filter(‘get_header’,’change_ssl’);
function change_ssl(){
if( is_ssl() ){
function change_ssl_main ($content){
$siteurl = get_option(‘siteurl’);
$upload_dir = wp_upload_dir();
$content = str_replace(‘http:’.strstr($siteurl,’//’),’https:’.strstr($siteurl,’//’),$content);
$content = str_replace(‘http:’.strstr($upload_dir[‘baseurl’],’//’), ‘https:’.strstr($upload_dir[‘baseurl’],’//’),$content);
return $content;
}
ob_start(“change_ssl_main”);
}
}

注意:代码中的标点必须是英文形式的。

使用这个方法的好处是:对网站的数据库没有任何影响,添加的代码如果是错误或者无效的,随时可以撤回。亲测网上许多教程的代码都不一定正确,所以选择可逆的代码修改是最为稳妥的办法。

调整完内部链接和图片后,对整站页面进行检查,包括首页、频道页、内容页、模板内容等,确保所有页面在浏览器访问时出现绿色小锁。让人费解的是,做完以上操作后,很多网站仍然是灰色小锁或者灰色小锁加黄色三角符号。通过对页面内容进行检查,发现是图片的问题,很多图片之前上传的时候被标记为绝对地址,而且都是以http开头的。一般需要将数据库的http替换成https,不过此方法拥有较高风险,建议使用代码让wordpress系统在加载图片前替换即可。

在当前主题下的function文件最后添加如下所示代码:

/* 替换图片链接为 https */
add_filter(‘the_content’,’my_content_photo’);
function my_content_photo($content){
if( is_ssl() ){
$content = str_replace(‘http://www.lulinling.com/wp-content/uploads’,’https://www.lulinling.com/wp-content/uploads’,$content);
}
return $content;
}

3、登录和后台开启强制https设置

打开网站根目录→打开wp-config.php文件,在这个文件的末尾添加如下代码:

/* 强制后台和登录使用 SSL */
define(‘FORCE_SSL_LOGIN’, true);
define(‘FORCE_SSL_ADMIN’, true);

4、检查网站所有页面是否全都调整为https

尤其是手动添加的内链以及网站上线前通过临时域名上传的图片,必须手动修改。

5、Wordpress整站301重定向

要是整站https已经实现,就可以给网站做整站301将http重定向到https,以保留网站原来的权重。以Apache服务器为例,直接在网站根目录的.htaccess文件添加以下代码:

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

访问http链接,看是否301跳转到对应的https页面。

根据上述方法设置,wordpress全站资源变成https的工作就全部完成了。为了让百度搜索端可以及时展现网站https资源,建议在百度搜索资源平台https认证工具进行认证,具体认证方法将于下一篇文章介绍。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注