WordPress整站轻松开启HTTPS

NOTE:SSL协议是 NetScape 公司于 1994 年提出的一个关注互联网信息安全的信息加密传输协议,其目的是为客户端(浏览器) 到服务器端之间的信息传输构建一个加密通道,此协议是与操作系统和 Web 服务器无关。同时, NetScape 在 SSL协议中采用了主流的加密算法(如: DES 、AES 等) 和采用了通用的 PKI 加密技术。目前, SSL已经发展到 V3.0 版本,已经成为一个国际标准,并得到了所有浏览器和服务器软件的支持。

下面介绍怎么利用wordpress提供的api来重写链接。这个方法优点是可逆,不会对网站的数据库有什么影响,可以使网站在HTTP和HTTPS之间自由转换。

  1. 增加wordpress转换函数
    在使用的主题(themes)的目录下的 function.php加入如下代码:

    //转换http为https
    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\');
    }
    }
    add_filter(\'get_header\', \'change_ssl\');
  2. 调整wordpress网站配置
    修改wordpress后台配置中的地址改为https版本

    注意:一定要保证https和http两种方式都能正常访问网站,才能改这个配置,否则可能导致网站无法访问。

  3. 整站301跳转

    整站如果启用HTTPS后运行正常,就可以开始考虑进行整站301跳转了。如果是Apache服务器,在.htaccess文件添加如下代码:

    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.watch-life.net/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^watch-life.net [NC]
    RewriteRule ^(.*)$ https://www.watch-life.net/$1 [L,R=301]

    如果是Nginx服务器,在nginx.conf配置如下代码:

    server {
    listen 80 default_server;
    server_name www.watch-life.net;
    return 301 https://$server_name$request_uri;
    }

    以上代码,更换相应的域名即可使用。注意修改或增加配置代码后,需要重启web 服务器。重启后,访问原来HTTP的版本,看是否301跳转为HTTPS的版本。

自此,WordPress整站开启HTTPS开启工作全部完成。后续就是观察各大搜索引擎抓取、收录的情况。

Mr.CC

文章作者信息...

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐