文章

nginx重写配置

nginx重写配置

1. 使用 rewrite 指令

rewrite 指令可以根据正则表达式匹配 URI 并进行重写。

1
2
3
location /old-uri {
    rewrite ^/old-uri/(.*)$ /new-uri/$1 permanent;
}
  • ^/old-uri/(.*)$:正则表达式,匹配以 /old-uri/ 开头的 URI。
  • /new-uri/$1:重写后的 URI,$1 表示捕获的正则表达式中的第一个分组。
  • permanent:重写后的状态码,permanent 表示 301 永久重定向。

2. 使用 return 指令

return 指令可以直接返回一个状态码和可选的 URL。

1
2
3
location /old-uri {
    return 301 /new-uri;
}
  • 301:状态码,表示永久重定向。
  • /new-uri:重定向后的 URI。

3. 使用 try_files 指令

try_files 指令可以尝试按顺序访问多个文件,如果都不存在,则进行重写或返回状态码。

1
2
3
location / {
    try_files $uri $uri/ /new-uri;
}
  • $uri:尝试访问请求的 URI。
  • $uri/:尝试访问请求的 URI 目录。
  • /new-uri:如果前两者都不存在,重写到 /new-uri
本文由作者按照 CC BY 4.0 进行授权