Nginx 配置域名和目录的301跳转

原创 HuangLongPu     发表于  2021-04-20 12:39       25

Nginx 配置域名和目录的301跳转,是网站在运行过程中时常会发生的事情,下面讲解关于域名和目录如何配置 301 跳转。

域名301跳转

比如当用户访问 https://obatis.com 时,配置 301 跳转到 https://www.obatis.com 这个二级域名上。

server {
    listen 443 ssl;
    server_name obatis.com;
    return 301 https://www.obatis.com$request_uri;
}

目录301跳转

比如之前 Obatis 技术社区的文章链接为:/show/blog/detail/2020091000024181101172459033.html,现在网站改版,链接调整为:/article/2020091000024181101172459033,为了用户体验和链接不失效,需要做目录的 301 跳转,这样即使用户访问了原先的链接,也会跳转到新链接上。

location ~ /show/blog/detail/(\d+).html {
    return 301 /article/$1;
}

Nginx 配置拓展资料:

  • = 精准匹配,不是以指定模式开头
  • ~* 正则匹配,不区分大小写
  • ~ 正则匹配,区分大小写
  • ^~ 非正则匹配,匹配以指定模式开头的location
  • / 通用匹配, 如果没有其它匹配,任何请求都会匹配到
  • 所有类型location存在时,“=”匹配 > “^~”匹配 > 正则匹配 > 普通(最大前缀匹配)