nginx中rewrite的使用
警告
本文最后更新于 2020-05-30 17:09,文中内容可能已过时。
标记参数:
last
停止当前这个请求,并根据重写后的规则,重新发起一个请求。
break
停止当前这个请求,在当前字段继续向下执行,但不会匹配其他location。
redirect
临时重定向302
permanent
永久重定向301
注*
last和break重写后的地址不会显示在浏览器地址栏中
redirect和permanent重写后的地址会显示在浏览器的地址栏中
使用格式:rewrite 匹配规则 URI重写后的内容 执行动作(标记);
使用字段:server, location, if
举例:
访问soulchild.com时,会自动跳转到www.soulchild.com
server { listen 80; server_name soulchild.com; rewrite (^.*$) http://www.soulchild.com$1 permanent; }
server { listen 80; server_name www.soulchild.com; location / { root /app/www; index index.html index.htm; access_log /app/logs/access_www.log main;
当匹配到以html结尾的URI时,进行rewrite,$1为匹配到(.*)的内容。
访问soulchild.cn/index.html时,将URI重写为/?p=index,在进行匹配其他location(last的作用)
location ~ html$ {
rewrite /(.*).html$ /?p=$1 last;
}
请我喝杯水
微信号
微信打赏