亿源网

查看: 25303|回复: 100

IIS通过URL重写将www的域名301到不带www的域名和强制使用https访问网站

  [复制链接]
  • TA的每日心情
    难过
    13 小时前
  • 签到天数: 58 天

    连续签到: 4 天

    [LV.5]常住居民I

    29

    主题

    142

    帖子

    769

    积分

    VIP会员

    Rank: 16Rank: 16Rank: 16Rank: 16

    积分
    769
    发表于 2018-10-9 20:58:32 | 显示全部楼层 |阅读模式
    本帖最后由 Play℡ 于 2018-10-9 20:59 编辑

      其实强制非www域名和https博主以前都是在做域名解析的时候做的DNS解析来实现的,可无奈在几天前被阿里云坑了一波之后,由于博主修改了一些DNS的配置,导致现在未备案域名不能在DNS级别做301重定向了,所以博主无奈之下只有研究在服务器级别做301重定向了,也把这次经历记在这里,方便大家有用到的时候便于参考。
      无论是出于安全还是搜索引擎优化的原因,我们都希望网站在访问多个类似的域名时,最好能重定向到统一的域名,比如博主的网站可以通过以下这些域名来访问:
      http://masuit.net
      http://www.masuit.net
      http://www.masuit.com
      http://masuit.com
      http://*.masuit.com
      https://www.masuit.com
      https://*.masuit.com
      https://masuit.com
      但是,我并不希望访问上面这些不同域名出现相同的页面,这对SEO来说也不友好,所以我们需要将上面这些地址都统一的永久重定向到https://masuit.com,那么怎么来实现呢?
      http重定向到https
      1.首先,我们需要在服务器上给IIS安装URL Rewrite这个插件和导入你的SSL证书。
      2.打开“IIS管理器”控制台,在左侧菜单中选择要应用重定向的网站,找到URL重写,双击进去:

      3.单击右侧菜单中的“添加规则”。
      4.在“入站”部分中选择“空白规则”,然后按“确定”:

      5.输入任何规则名称,你知道是什么意思就好了,比如“重定向到https”。
      6.在“匹配URL”部分中:
      - 在“请求的URL”下拉菜单中选择“与模式匹配”
      - 在“使用”下拉菜单中 选择“正则表达式”
      - 在“模式”部分输入以下模式:“(.*)“
      - 选中”忽略大小写“框

      7.在“条件”部分中,选择“逻辑分组”下拉菜单下的“全部匹配”,然后按“添加”。
      8.在提示窗口中:
      - 输入“{HTTPS}”作为条件输入
      - 从下拉菜单中选择“与模式匹配”
      - 输入“^OFF$”作为模式
      - 按“确定”
      - 输入“{HTTPS_HOST}”作为条件输入
      - 从下拉菜单中选择“与模式不匹配”
      - 输入“^(localhost)”作为模式
      - 按“确定”

      9.在“操作”部分中,选择“重定向”作为操作类型,并为“重定向URL”指定以下内容:
      https://{HTTP_HOST}/{R:1}
      10.选中“附加查询字符串”框。
      11.选择您选择的重定向类型。整个“操作”部分应如下所示:

      注意:可以在该菜单中选择4种重定向规则的重定向规则:
      - 永久(301) - 在这种情况下的首选类型,它告诉客户端站点的内容永久移动到HTTPS版本。有利于SEO,因为它为您的HTTPS网站带来了所有流量,对其在搜索引擎中的排名产生了积极影响。
      - 找到(302) - 仅当您将某些页面的内容暂时移动到新地点时才应使用*。这样SEO流量有利于先前内容的位置。通常不建议将此选项用于HTTP / HTTPS重定向。
      - 请参阅其他(303) - GET请求的特定重定向类型。不推荐用于HTTP / HTTPS。
      - 临时(307) - 302重定向类型的HTTP / 1.1后继。不推荐用于HTTP / HTTPS。
      12.单击“操作”菜单右侧上方的“应用”即可。
      www重定向到不带www
      1.按刚才的套路,先做上面的步骤1-7。
      2.条件配置如下:
      -条件输入:{HTTP_HOST}
      -检查输入的字符串是否:与模式匹配
      -模式:^www\.(.+\..+)$

      3.操作部分配置如下“重定向URL”指定以下内容:
      https://{HTTP_HOST}/{R:1}

      4.单击“操作”菜单右侧上方的“应用”即可。
      太麻烦了?这有现成的
      上面做那么多操作,其实就是生成了一段配置,放到了我们网站程序的web.config
    1.   <rewrite xdt:Transform="Insert">
    2.   <rules>
    3.   <rule name="重定向到https" enabled="true" stopProcessing="true">
    4.   <match url="(.*)" />
    5.   <conditions>
    6.   <add input="{HTTPS}" pattern="^OFF$" />
    7.   <add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
    8.   </conditions>
    9.   <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType=";Permanent" />
    10.   </rule>
    11.   <rule name="强制重定向到不带www的顶级域名" enabled="true" stopProcessing="true">
    12.   <match url="(.*)" />
    13.   <conditions logicalGrouping="MatchAny">
    14.   <add input="{HTTP_HOST}" pattern="^www\.(.+\..+)$" />
    15.   </conditions>
    16.   <action type="Redirect" url="https://{C:1}/{R:1}" appendQueryString="true" redirectType=";Permanent" />
    17.   </rule>
    18.   </rules>
    19.   </rewrite>
    复制代码

      我们只需要将上面的代码放到web.config中的system.webServer配置节下保存即可。

    回复

    使用道具 举报

  • TA的每日心情
    难过
    8 小时前
  • 签到天数: 55 天

    连续签到: 13 天

    [LV.5]常住居民I

    0

    主题

    100

    帖子

    494

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    494
    发表于 2018-10-10 02:42:30 | 显示全部楼层
    众里寻他千百度,蓦然回首在这里!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 20:40
  • 签到天数: 54 天

    连续签到: 1 天

    [LV.5]常住居民I

    0

    主题

    106

    帖子

    543

    积分

    高级会员

    Rank: 4

    积分
    543
    发表于 2018-10-14 00:06:52 | 显示全部楼层
    发发呆,回回帖,工作结束~
    回复

    使用道具 举报

  • TA的每日心情

    昨天 04:12
  • 签到天数: 62 天

    连续签到: 4 天

    [LV.6]常住居民II

    0

    主题

    105

    帖子

    603

    积分

    高级会员

    Rank: 4

    积分
    603
    发表于 2018-10-14 01:17:56 | 显示全部楼层
    路过 帮顶 嘿嘿
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 54 天

    连续签到: 2 天

    [LV.5]常住居民I

    0

    主题

    111

    帖子

    591

    积分

    高级会员

    Rank: 4

    积分
    591
    发表于 2018-10-14 10:27:39 | 显示全部楼层
    我了个去,顶了
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    5 小时前
  • 签到天数: 51 天

    连续签到: 3 天

    [LV.5]常住居民I

    25

    主题

    142

    帖子

    661

    积分

    VIP会员

    Rank: 16Rank: 16Rank: 16Rank: 16

    积分
    661
    发表于 2018-10-14 23:08:37 | 显示全部楼层
    啊啊啊啊啊啊啊啊啊啊啊
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    13 小时前
  • 签到天数: 49 天

    连续签到: 2 天

    [LV.5]常住居民I

    0

    主题

    98

    帖子

    451

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    451
    发表于 2018-10-15 19:42:57 | 显示全部楼层
    众里寻他千百度,蓦然回首在这里!
    回复

    使用道具 举报

  • TA的每日心情

    3 天前
  • 签到天数: 58 天

    连续签到: 10 天

    [LV.5]常住居民I

    0

    主题

    95

    帖子

    569

    积分

    高级会员

    Rank: 4

    积分
    569
    发表于 2018-10-18 00:46:50 | 显示全部楼层
    看起来好像不错的样子
    回复

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 53 天

    连续签到: 4 天

    [LV.5]常住居民I

    0

    主题

    107

    帖子

    520

    积分

    高级会员

    Rank: 4

    积分
    520
    发表于 2018-10-18 03:20:31 | 显示全部楼层
    不错 支持一个了
    回复

    使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 58 天

    连续签到: 9 天

    [LV.5]常住居民I

    0

    主题

    99

    帖子

    547

    积分

    高级会员

    Rank: 4

    积分
    547
    发表于 2018-10-18 14:33:04 | 显示全部楼层
    支持你哈...................................
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|亿源网

    GMT+8, 2019-4-23 14:06 , Processed in 0.097407 second(s), 49 queries .

    Powered by Discuz! X3.4

    © 2015-2018 keeeg.com.

    快速回复 返回顶部 返回列表