使用Nginx实现301跳转至https的根域名示例代码

使用Nginx实现301跳转至https的根域名示例代码,第1张

使用Nginx实现301跳转至https的根域名示例代码

详细介绍了利用Nginx跳转到https的根网站的域名。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

从SEO和安全系数的考虑,301跳转是必须要进行的,后面的应用要用Nginx来解决。

完成结果

以下详细地址必须统一跳转到https的根网站域名https://chanvinxiao.com。

  • Http://chanvinxiao.com(http不带www)
  • Http://www.chanvinxiao.com(带www的http)
  • Https://www.chanvinxiao.com(带www的https)
  • 301和302的区别

    301是永久跳转,302是临时跳转。关键的区别在于搜索引擎如何看待这件事。

  • 31:搜索引擎会迁移权重值和PR值。
  • 32:搜索引擎不容易进行附加解决方案。
  • 现在我在期待搜索引擎认为原来的详细地址将不复存在,完全迁移到最新的地址,所以我申请301

    http跳转到https

    一个很简单的方法就是在sever中立即返回一个跳转的详细地址,中间加上301状态码(否则默认设置为302)

    server{ listen80; return301https://$host$request_uri; }
  • 返回和重写都属于调用Nginx的控制模块的命令。因为这里不需要换方式,所以用return比较方便。
  • $host和$request_uri都是Nginxhttp控制模块的内置参数。这两个参数的组合等效于删除所需http://的结果。
  • www跳转到根网站域名

    这个只需要在https中解决,因为所有的http都已经跳转到https

    server{ listen443ssl; server_name~^(?<www>www\.)?(.)$; if($www){ return301https://$2$request_uri; } ...
  • 这里使用的是server_name的正则匹配函数,在它的值前加~就可以打开,适用于PCRE英语的语法。
  • 正则表达式用于更好地确定是否有前缀www。而它对根网站域名的捕获,形成了两个自变量,一个被命名为捕获自变量$www,另一个被标记为捕获自变量。
  • 如果与独立变量的顺序捕获的应用不兼容,否则它会出错(未知的“1”变量),所以它被提升?<www>的值被分配给$www。
  • 降低跳频

    上面的设定已经考虑了完成的结果,但是有一个缺陷,就是http://www.chanvinxiao.com会先跳到https://www.chanvinxiao.com,再跳到https://chanvinxiao.com。肯定不如只跳一次来做第二次跳,所以最好是马上做到位,改变http配置如下:

    server{ listen80; server_name~^(?:www\.)?(.)$; return301https://$1$request_uri; }

    在有http匹配的sever中,将server_name改为正则表达式模式,将$host替换为抓取的根网站域名
    www在这里会立即丢弃,不需要抓取应用?:识别完成后只排序不抓取,所以后面的根网站域名变成了
    。这样一来,不管原来有没有www,都会跳转到没有www的https根网站域名。

    摘要

    配置中不需要特定的网站域名,可以轻松兼容和移植。应用了Nginx的以下特性:

  • 服务器名称的常规匹配
  • 命令返回接受状态代码和详细地址。
  • $host和$request_uri被放入参数
  • 这篇关于用Nginx完成301跳转到https的根网站域名的文章到此为止。关于Nginx301跳转到https的根网站域名的大量信息,请搜索您之前的文章或者再次访问下面的相关文章。期待你以后的申请!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zz/774542.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存