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
进行授权