wordpress开启全站https的方法

wordpress教程 提交于 2017-05-22 15:10:36

开启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} www.tuhongwei.com
RewriteRule ^.*$ https://www.tuhongwei.com%{REQUEST_URI} [L,R=301] 
注:RewriteCond %{HTTP_USER_AGENT} !MSIE/[1-8]\. [NC]这行代码是排除IE8及以上版本浏览器使用HTTPS访问,不需要的话这行可删除。

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

server {
    listen      80;
    server_name    www.tuhongwei.com;
    return      301 https://www.tuhongwei.com$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://www.tuhongwei.com/wp-content/uploads', 'https://www.tuhongwei.com/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,还有一些手动添加的链接或插件需要单独调整。

目前国内百度分享、jiathis等社会化分享组件插件均不支持https,也就是当你启用https后这些分享功能都不会显示,找了很久终于找到一个大牛贡献的代码,实现了https可用的百度分享功能,代码如下:

<div class="bdsharebuttonbox"><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_sqq" data-cmd="sqq" title="分享到QQ好友"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"></a></div>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='https://dn-iyz-file.qbox.me/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

上面的百度分享https代码已经失效,可以按照教程 https://www.tuhongwei.com/node/202  来实现定制自己可用的https分享代码。

如果文章对你有帮助,请赞赏支持本站发展!

评论

我一直用的linux服务器,对IIS不太熟悉,从网上找到iis7.5强制https教程希望对你有所帮助:

1、申请或购买SSL证书。

2、 IIS 7.5 下绑定 HTTPS 网站 。

3、 下载安装URL重写模块:Microsoft URL Rewrite Module

32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi

64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi

4、取消勾选“SSL设置”-》“要求 SSL”

iis7.5 http 301重定向https的设置方法

5、ASP.NET站可直接修改web.config(与“6、IIS配置图示”效果相同),例如:见<rewrite>…</rewrite>节点 :

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
  <rewrite>
   <rules>
    <rule name="HTTP to HTTPS redirect" stopProcessing="true">
     <match url="(.*)" />
     <conditions>
      <add input="{HTTPS}" pattern="off" ignoreCase="true" />
     </conditions>
     <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
    </rule>
   </rules>
  </rewrite>
 </system.webServer>
</configuration>
6、IIS配置图示(图形化的操作过程,与上步效果相同,适用于asp/php等站)
选择要配置的网站,如:test.ttkkw.com,找到“URL重写”,没有的话看上面第3步
iis7.5 http 301重定向https的设置方法
进入“URL重写”模块,点击“添加规则”
iis7.5 http 301重定向https的设置方法
选择“空白规则”
iis7.5 http 301重定向https的设置方法

名称:HTTP to HTTPS redirect

模式:(.*)

iis7.5 http 301重定向https的设置方法

iis7.5 http 301重定向https的设置方法

条件输入:{HTTPS}

模式:off 或 ^OFF$

iis7.5 http 301重定向https的设置方法

iis7.5 http 301重定向https的设置方法

重定向URL:https://{HTTP_HOST}/{R:1}

重定向类型:已找到(302) 或 参阅其它(303)

iis7.5 http 301重定向https的设置方法

iis7.5 http 301重定向https的设置方法

配置完成后“应用”到当前站点:

iis7.5 http 301重定向https的设置方法

iis7.5 http 301重定向https的设置方法

至此强制https配置完成。

 

发表评论

此字段内容将保密,不会被其他人看见。

纯文本

  • 不允许使用HTML标签。
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。