2025年3月20日 星期四 甲辰(龙)年 月十九 夜 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > Nginx

nginx的rewrite对地址进行重写

时间:07-03来源:作者:点击数:23

nginx的rewrite对地址进行重写

1.语法

  • rewrite "用来匹配路径的正则" 重写后的路径 [指令];

2.案例

  • server {
  • listen 80;
  • server_name api.shunwang.com;
  • proxy_set_header X-Forwarded-Host $host;
  • proxy_set_header X-Forwarded-Server $host;
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  • # 上传路径的映射
  • location /api/upload {
  • proxy_pass http://127.0.0.1:8082;
  • proxy_connect_timeout 600;
  • proxy_read_timeout 600;
  • rewrite "^/api/(.*)$" /$1 break; # /$1匹配的参数
  • }
  • }

3.解释

  • rewrite "^/api/(.*)$" /$1 break,路径重写:
  • "^/api/(.*)$":匹配路径的正则表达式,用了分组语法,把/api/以后的所有部分当做1
  • /$1:重写的目标路径,这里用$1引用前面正则表达式匹配到的分组(组编号从1开始),即/api/后面的所有。这样新的路径就是除去/api/以外的所有,就达到了去除/api前缀的目的
  • break:指令,常用的有2个,分别是:lastbreak
  • last:重写路径结束后,将得到的路径重新进行一次路径匹配
  • break:重写路径结束后,不再重新匹配路径。
  • nginx -s reload命令重新加载配置
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门