nginx填坑之路(2)nginx 实现路径重写 rewrite$1

参考文档:nginx 配置 rewrite$1nginx path路径地址重写Nginx实现路径重写rewrite指令

Nginx提供了rewrite指令,用于对地址进行重写,语法规则:

rewrite"用来匹配路径的正则"重写后的路径[指令];
rewrite^/job/(.*)$ | $1break

问题场景再现:

说明:页面连接直接请求js是正常的,页面刷新请求的js路径就变了,两次请求js区别在于页面刷新请求的js路径多了一个当前目录:job 、platform
(这个问题是前端路由问题,不过nginx可以进行地址重写)

连接请求网址: http://172.20.162.29/job/static/js/SM.js
刷新请求网址: http://172.20.162.29/job/static/js/static/js/SM.js

连接请求网址: http://172.20.162.29/platform/static/js/SM.js
刷新请求网址: http://172.20.162.29/platform/static/js/static/js/SM.js

nginx进行路径重写 rewrite$1

说明:存在多个路径时需要添加多条重写记录,临时解决可以,后期优化由前端处理

server {
    listen       80;
    server_name  localhost;

    location /platform {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        rewrite ^/platform/(.*)$ $1 break; 
        proxy_pass http://172.20.162.29:80/$1;
     }
    location /job {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        rewrite ^/job/(.*)$ $1 break; 
        proxy_pass http://172.20.162.29:80/$1;
     }

     location / {
        root   /html/;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
         }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值