哎,我需要静静,刚刚在去怎么优化dom层级,发现更新完代码,层级又蹭蹭蹭的往上涨,顿时没脾气了,还是把昨天的nginx配置总结下,增加点动力,昨天前天两天都在搞这个问题,也是搞的没脾气,网上查了很多资料

问题:线上的css和js都是经过压缩的,自动生成版本号,因为去除后端的重定向,所以需要抓去线上的单个文件代理到本地
回答:找了半天没有解决方案,可以正则匹配,但不知道nginx里面怎么去用这个正则,nginx不支持js里面的replace,所以不能正则这样匹配,转化思路,还是抓取index.html首文件,在首文件价格参数,有environment这个参数,后端重定向,没有这个参数,后端不进行重定向

语法:rewrite regex replacement [flag];

如果一个URI匹配指定的正则表达式regex,URI就按照replacement重写,该指令通过正则表达式的使用用来改变URI。可以同时存在一个或者多个指令,按顺序依次对URL进行匹配和处理

flag可以是如下参数

last:停止处理后续rewrite指令集,然后对当前重写的新URI在rewrite指令集上重新查找。
break:停止处理后续rewrite指令集,并不在重新查找,但是当前location内剩余非rewrite语句和location外的的非rewrite语句可以执行。
redirect:如果replacement不是以http:// 或https://开始,返回302临时重定向
permant:返回301永久重定向

niginx的内容设置中必须注意的一些问题

1.nginx在进行rewrite的正则表达式中只会将url中?前面的部分拿出来匹配

2.匹配完成后,?后面的内容将自动追加到url中(包含?),如果不让后面的内容追加上去,请在最后加上?即可

3.如果要活的?后面的内容则请使用$query_string

rewrite实例

参数实例1

https://xxx/dist/index.html?a=1&b=2&c=3
转化为
https://xxx/dist/index1.html

location这么写

location /index.html {
rewrite ^/(.*) /index1.html? redirect;
}
参数实例2

https://xxx/dist/index.html?a=1&b=2&c=3
转化为
https://xxx/dist/index1.html?a=1&b=2&c=3&d=4

location这么写

location /index.html {
rewrite ^/(.*) /index1.html?d=4&$query_string? redirect;
}
参数实例3

https://xxx/dist/index.html?a=1&b=2&c=3
转化为
https://xxx/dist/index.html?a=1&b=2&c=3&d=4

location这么写

set $flag 0;
if ($request_uri ~* "index.html") {
set $flag "${flag}1";
} if ($query_string !~* "^.*d=\S*.*$") {
set $flag "${flag}2";
} if ($flag = "012") {
rewrite ^/(.*) /index.html?d=4&$query_string? redirect;
}
location /dist/index1.xhtml { //后端重定向地址
rewrite ^/(.*) /dist/index1.html redirect;
}

nginx里面的rewrite配置的更多相关文章

  1. nginx简单的rewrite配置

    假设当前已存在location /test/,希望配置一个短连接/ts/与之相同,就需要用到rewrite 直接配置到server段 rewrite ^/ts/(.*) /test/$1; 或者放到l ...

  2. nginx里面的location 规则匹配

    nginx location语法 ~ # 区分大小写的正则匹配 location ~ \.(gif|jpg|png|js|css)$ { #规则D } ~* # 不区分大小写的正则匹配(和~的功能相同 ...

  3. redis如何在spring里面的bean配置

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  4. nginx1.14.0版本server、location、rewrite配置

    server配置demo 在192.168.10.140(centos7)上修改: /home/program/nginx/conf/nginx.conf 添加一个server server { li ...

  5. 17.Nginx 重写(location rewrite)

    Nginx 重写(location / rewrite) 目录 Nginx 重写(location / rewrite) 常见的nginx正则表达式 location lication的分类 loca ...

  6. nginx location配置与rewrite配置

    注:原文出处 www.linuxidc.com/Linux/2015-06/119398.htm 1. location正则写法 一个示例: location =/{ # 精确匹配 / ,主机名后面不 ...

  7. Nginx教程(四) Location配置与ReWrite语法

    Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {- } ...

  8. apache、nginx的虚拟域名配置和rewrite配置,以及web缓存的几种方式

    web缓存一般用来缓解数据库压力. 通常有几种方法,文件静态化,缓存服务memcached.redis等. 伪静态,一般指在url上貌似访问静态html页的形式,这样有利于搜索引擎访问到网站页面,实际 ...

  9. nginx配置文件中,location字段里面的root字段和别名alias

    1. location里面的root例子 server{ listen ; server_name www.wzw.com; location /www { root /data/; //设置虚拟主机 ...

随机推荐

  1. spring mvc 自定义handler不拦截静态资源

    处理静态资源的handler和处理Controller请求中的handler不同,对应的Interceptor也不同 查找对应handler是在DispatcherServlet中 因此一些自定义的I ...

  2. Linux关于用户信息的一些命令

    1.用户增加删除[root@VM_0_13_centos ~]# useradd better407 #添加 better407 用户 [root@VM_0_13_centos ~]# passwd ...

  3. Eclipse + Git + 码云

    1. 进入码云个人首页 点击自己的名称即可 2. 添加一个项目 3. 在Eclipse中创建一个本地Git Eclipse不建议git目录创建在项目的目录下,因此另选一个目录作为本地Git目录 选择一 ...

  4. Index Skip Scan in Oracle in 11g

    http://viralpatel.net/blogs/oracle-index-skip-scan/ in 11g the same sql use index skip scan but in 1 ...

  5. JavaSE---NIO

    1.概述 1.1 BIO的问题: 读取输入流中的数据时,如果没有读到有效数据,该线程将被阻塞: 传统输入.输出流都是阻塞式的: 传统的输入.输出流都是通过字节移动处理: 面向流的输入.输出一次只能处理 ...

  6. python_爬虫基础学习

    ——王宇阳—根据mooc课程总结记录笔记(Code_boy) Requests库:自动爬去HTML页面.自动网络请求提交 robots.txt:网络爬虫排除标准 Beautiful Soup库:解析H ...

  7. (转)shell中test命令方法详解

    test命令用法.功能:检查文件和比较值 shell中test命令方法详解 原文:https://www.cnblogs.com/guanyf/p/7553940.html 1)判断表达式 if te ...

  8. shell脚本之文件测试操作符及整数比较符

    一.文件测试操作符: 在书写测试表达式是,可以使用一下的文件测试操作符. 更多的参数可以help test或者man bash 二.字符串测试操作符: 字符串测试操作符的作用:比较两个字符串是否相同. ...

  9. 快速创建jquery插件

    介绍 什么是插件? 插件我们见得很多了,比如浏览器上我们会安装一些去除广告的插件.美化页面的插件等等. 在前端,我们也常常写一些jquery插件来使用.来添加我们常常写的一些功能,方便使用. 为什么要 ...

  10. 微信小程序获取数据、处理数据、绑定数据关键步骤记录

    onload:function(event){ var inTheatersUrl ="https://api.douban.com"+"/v2/movie/in_the ...