Apache设置301重定向到www和强制跳转https教程

前言

本文将详解如何配置Apache的.htaccess文件来使域名跳转到www和强制跳转到https

首先在建站之前,需要确认今后网站是使用类似ioiox.com一级域名,还是www.ioiox.com二级域名,根据域名长度,使用场景,域名视觉美观来决定.为不影响搜索引擎的收录和网站规范化,请务必提前规划,后期尽量不要改动.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

本站示例

例如本站使用www.ioiox.com作为主域名,并使用https协议.
呈现在地址栏的主页为https://www.ioiox.com
呈现在地址栏的内页为https://www.ioiox.com/about.html

然而用户习惯,在输入网址时不会主动去填写https,甚至不会去输入www,而仅仅只是输入ioiox.com

按照以下配置,我们可以实现以下跳转:

地址栏输入ioiox.com跳转到https://www.ioiox.com
地址栏输入www.ioiox.com跳转到https://www.ioiox.com
地址栏输入ioiox.com/about.html跳转到https://www.ioiox.com/about.html
地址栏输入www.ioiox.com/about.html跳转到https://www.ioiox.com/about.html

配置流程

全站域名跳转到www二级域名

在网站根目录创建或编辑.htaccess文件
添加以下代码
保存配置完成

如果站点没有配置SSL证书,或者不使用https协议,把代码中的https替换为http即可.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ioiox.com [NC]
RewriteRule ^(.*)$ https://www.ioiox.com/$1 [L,R=301]

1.jpg

全站域名跳转到不含www一级域名

在网站根目录创建或编辑.htaccess文件
添加以下代码
保存配置完成

如果站点没有配置SSL证书,或者不使用https协议,把代码中的https替换为http即可.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^ioiox.com$ [NC]
RewriteRule ^(.*)$ https://ioiox.com/$1 [L,R=301]

2.jpg


结语

本文详解了Apache的301重定向功能,实现跳转地址和强制https的目的,本站还介绍过Nginx的301重定向教程,推荐相关文章以供参考:

Nginx设置301重定向到www和强制跳转https教程

针对一级域名和www二级域名如何选择,个人建议根据你的域名实际情况而定,如果是.com/.net结尾,可以使用www来达到域名对称美,如果是以.cn/.me/.us/等短顶级域名,又或者一级域名很短(例如3位及以下),可以考虑不使用www,让域名简短易记.还有特殊结尾的字母不在一条线,例如.vip/.org/.top等也建议不使用www.以上仅供参考.
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

本文链接 https://www.ioiox.com/archives/19.html

最后修改:2019 年 04 月 22 日 03 : 16 PM

6 条评论

  1. chenchk

    在网站根目录下
    是说/web下
    还是/web/typecho
    ?
    还有www station站点的目录配置是那个?

    1. Stille
      @chenchk

      网站根目录是你站点文件夹内,按照你的回复就应该是 /web/typecho

      www station站点的目录配置是那个? 这个没看懂是什么意思

      1. chenchk
        @Stille

        或者vx也可以呢 都是一样的哈 你看下我的邮箱地址

      2. chenchk
        @Stille

        大佬方便加下QQ问你下吗?

        1. Stille
          @chenchk
          该评论仅登录用户及评论双方可见
          1. chenchk
            @Stille

            加你啦 快通过下哈哈

发表评论