nginx过滤资源文件(jscssimage)重定向问题

html-css013

nginx过滤资源文件(jscssimage)重定向问题,第1张

springboot项目,想通过url后缀区分不同的项目服务

比如,localhost/login1 和 localhost/login2 进入的是不同的项目服务

这里是通过nginx拦截url对不同url后缀进行不同的端口转发

上图配置后,api访问没问题,但是资源文件无法访问

这是因为资源文件也被重定向到localhost/xiao/css/jq.js(正确的应该是localhost/css/jq.js)

这个时候就需要对项目下的资源文件进行过滤并重定向了,完整配置如下

将某个请求进行重定向,用重定向的内容响应请求的内容,主要有两个功能map remote和map local。map local将某个网络请求重定向到本地某个文件;map remote将某个网络请求重定向到另一个网络请求。

两者都可以将js、css、html以及api接口进行重定向,此外也可以使用通配符来进行简单的批量匹配,达到批量重定向的目的。

       Map remote是将请求的URL,直接换成目的URL的请求,并返回目的URL的响应

访问 www.cctv.com ,在charles中可以看到如下

Map local是将请求的URL的响应,换成本地机器上的文件的内容,如D盘的某个文件为shichang.html,做如下配置

访问travel.cctv.com,在charles中可以看到如下

它的一个重要用途是实现接口数据的修改,新建一个 json文件,将请求到的json数据复制到该文件,保存到本地。

请求该接口,访问到的数据就是本地json文件的数据了(将json数据传回前端请求)。在进行接口调试的时候,我们可以修改json文件,这样就不用每次都打断点修改json数据。

关于css sprite就是楼上说的那个意思,比如这页面上的百度知道logo其实就是一个大图片,只不过只显示了logo这一部分,其实图中还有各种按钮等等,这样可以减少在css中引用的图片数量。

唯一要注意的问题就是:取消重定向;48次重定向啊,这个浪费可就大了。好的网页时不应该出现重定向的。

对于其他问题,数值都在合理范围内,不可能完全避免,可以忽视。就算你用这个工具测试百度自己的页面你也会发现类似的提示的。

该建议只是建议,事实上复杂和绚丽或者商品展示页面往往都存在因为图片过多造成请求数量超标的问题,但是你也不能因此而放弃显示商品,对吧。