推广 热搜: csgo  vue  2023  angelababy  gps  信用卡  新车  htc  落地  控制 

URL在前后端分离的开发模式中如何进行URL的重写

   2023-06-11 网络整理佚名1960
核心提示:转换成后端的访问端口及路由,例如::8080/,从而访问服务。这里只涉及一般会用到的语法:开头精准匹配,停止搜索并立即处理请求区分大小写匹配(可用正则表达式)不区分大小写匹配(可用正则表达式)区分大小写不匹配不区分大小写不匹配如果路径中匹配,那么不测试正则表达式使用语法:使用示例开始,子表达式匹配任意多单字符,结束。react(umi)页面刷新404,配置

网址重写

在前后端分离的开发模式下,会有这样的需求:前端通过特定的路由前缀访问后端接口,例如:这里的api是每个添加的前缀前端。 nginx需要将其转换为后端访问端口和路由,例如::8080/,从而访问服务。

这就涉及到一个URL重写的概念,可以通过多种方式实现。 由于前端程序打包,静态文件发布在nginx上,我们需要通过nginx指令重写url。 写。

匹配规则

在使用指令之前,我们需要熟悉匹配规则。

这里只涉及常用的语法:

1. = 开头完全匹配,停止搜索,立即处理请求

例:
	location = /login {  
	   #规则A  
	}  
	location / {  
	   #规则B 
	}  
	http://localhost/login 将匹配规则A
	http://localhost/register 则匹配规则B

2. ~区分大小写匹配(可用正则表达式

3. ~* 不区分大小写匹配(可用正则表达式)

	location ~ \.(gif|jpg|png|js|css)$ {  
	   #规则D  
	}  
	location ~* \.png$ {  
	   #规则E  
	} 
	http://localhost/a.PNG 则匹配规则E,
	不会匹配规则D,因为规则E不区分大小写

4. !~ 大小写不匹配

5. !~* 不区分大小写的不匹配

6.^~如果路径中有匹配,则不测试正则表达式

使用规则

1. nginx-使用语法:

rewrite regex replacement [flag]; 

二、参数介绍

3.使用示例

比如现在转发请求到:8080/,配置如下:

        location ^~ /api/ {
                rewrite  ^/api/(.*)$ /$1 break;
                proxy_pass http://localhost:8080;
        }

匹配:如果路由中匹配到/api/,则执行该规则。

正则模式:以/api/开头,子表达式匹配任意数量的单个字符,结束。

尖端

1.React(umi)页面刷新404,配置

try_files  $uri $uri/ /index.html;

参考

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON