301跳转到https域名的方法

2017年是https流行的年份,大大小小的网站纷纷上了ssl,进而产生了新的问题:域名跳转怎么做?

域名跳转常见有301和302两种方式,通过http://tool.chinaz.com/pagestatus/ 可以查询具体状态码,301是公认最好的跳转方式

我以Apache(kangle也兼容)web服务器为例,展示下本博客的.htaccess文件代码:

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

该方法只适合跳转到https,你把这段代码复进去即可使用,什么都不需要改。会自动识别访问的域名,带www的和不带www的都可以检测,然后会跳转到https网址,状态码是301,全站链接都会跳,是完美的。


还有一种办法是:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.johntitorblog.com [NC,OR]
RewriteCond %{HTTP_HOST} ^bbs.johntitorblog.com [NC,OR]
RewriteCond %{HTTP_HOST} ^johntitorblog.com [NC]
RewriteRule ^(.*)$ https://www.johntitorblog.com/$1 [L,R=301]

这就是大家比较常用的多域名301跳转方法了,只不过跳转目的为https网址,全站链接都会跳。不是很完美,因为案例中http://www.johntitorblog.com无法跳转到https://www.johntitorblog.com,不过也不影响最终效果,你把站点默认域名设置为https的即可。

301跳转到https域名的方法》上有8条评论

  1. 大致

    作为一个程序员,正则表达式是我心中永远的痛。
    一个问题,为什么第一段用%{HTTP_HOST}而第二段用的是域名字符串呢?

    回复
    1. 站长 文章作者

      仔细想一下,如果证书免费的话,是有必要加ssl的。因为这年头,你不加密的话,就相当于完全暴漏在互联网里了,太不安全了。

      回复
  2. 小小鸟

    老哥,www.xxx.com下面有几个子域名比如a.xxx.com, b.xxx.com,用哪种方式跳转啊?
    另外,“站点默认域名设置为https” 在哪里设置,ssl证书哪里买,怎么设置。。 谢谢

    回复

发表评论

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