wordpress开启全站https的方法

开启SSL访问后需要进行一系列设置和修改才能让wordpress全站支持https。

1、开启访问 HTTPS 301重定向。

网站这时候虽然支持了 HTTPS 访问,但是也可以使用 HTTP 来访问,考虑到搜索引擎目前收录的都是 HTTP 链接,需要将http重定向到https。

如果是Apache环境,可直接向网站根目录的.htaccess文件添加下面代码:

#网站定制化开启 HTTPS 的301重定向
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_USER_AGENT} !MSIE/[1--8]\. [NC]
RewriteCond %{HTTP_HOST} x1t.win
RewriteRule ^.*$ https://x1t.win%{REQUEST_URI} [L,R=301]

注:RewriteCond %{HTTP_USER_AGENT} !MSIE/[1--8]\. [NC]这行代码是排除IE8及以上版本浏览器使用HTTPS访问,不需要的话这行可删除。

如果是Nginx环境,打开网站的配置文件,一般是服务器vhost目录下的  网站.conf 文件,在文件最上方添加:

server {
listen      80;
server_name    x1t.win;
return      301 https://x1t.win$request_uri;
}

以上完成了网站通过http访问自动跳转到https地址。

2、对wordpress文章内的图片及后台强制https设置。

wordpress上传的图片都写入了绝对地址,也就是启用https前所有上传到文章的图片都是以http://开头的地址存储 ,如果不转换成https访问网站时浏览器顶部的“小锁”会在某些浏览器显示安全警告,让图片变成https地址很简单,只需要在当前主题的functions.php文件中添加以下代码:

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

以上代码可自动将全站所有http地址图片自动转换成https地址图片。

3、开启登录和后台https访问。

打开网站根目录下的wp-config.php文件,在文件底部添加:

/* 强制后台和登录使用 SSL */
define(‘FORCE_SSL_LOGIN’, true);
define(‘FORCE_SSL_ADMIN’, true);
修改“菜单”当中的所有“自定义链接”为相对路径;
修改“设置”→“常规”里的“站点地址”和“WordPress 地址”为 HTTPS地址;

以上的步骤基本实现了wordpress全站https,还有一些手动添加的链接或插件需要单独调整。

此条目发表在日常分类目录。将固定链接加入收藏夹。

发表回复

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