首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nginxlocation配置规则梳理

精确匹配 > 字符串匹配( 长 > 短 [ 注: ^~ 匹配停止匹配 ]) > 正则匹配( 上 > 下 ) 在nginxlocation和配置location顺序没有太大关系。...如果有多个location正则能匹配的话,使用正则表达式最长那个。 4)常规字符串匹配类型。按前缀匹配。...特别注意: 字符串匹配优先搜索,但是只是记录下最长匹配 (如果 ^~ 是最长匹配,则会直接命中,停止搜索正则),然后继续搜索正则匹配如果有正则匹配命中正则匹配如果没有正则匹配命中最长字符串匹配...是这样,精确匹配还是起作用了,请求目录(非具体文件),nginx会将请求内部定向到index文件, 既此时真正请求是http://127.0.0.1/index.html, 这是config2被命中...------ / 通用匹配任何请求都会匹配到。

1.9K70
您找到你想要的搜索结果了吗?
是的
没有找到

Nginx---Rewrite

使用curl命令,发送post请求 curl -X POST url 3.使用正则表达式对变量进行匹配匹配成功返回true,否则返回false。变量正则表达式之间使用"","*","!","!...~*"刚好和上面取相反值,如果匹配返回false,匹配不上返回true if ($http_user_agent ~ MSIE){ #$http_user_agent是否包含MSIE字符串如果包含返回...true } 注意:正则表达式字符串一般不需要加引号,但是如果字符串包含"}"或者是";"等字符时,就需要把引号加上。...-d", 当使用"-d"时,如果请求目录存在,if返回true如果目录不存在返回false 当使用"!...-d"时,如果请求目录不存在但该目录上级目录存在返回true,该目录和它上级目录都不存在返回false,如果请求目录存在也返回false. 6.判断请求目录或者文件是否存在使用"-e"和"!

86110

JavaScript笔记

() 方法搜索特定值字符串,并返回匹配位置 slice() 提取字符串某个部分并在新字符串返回被提取部分。...如果参数值为 NaN 或字符串、对象、undefined等非数字值返回 true, 否则返回 false。 toExponential() 返回字符串值,它包含已被四舍五入并使用指数计数法数字。...\w 匹配单个字符 \uxxxx 查找以十六进制数 xxxx 规定 Unicode 字符。 量词 n+ 匹配任何包含至少一个 n 字符串。 n* 匹配任何包含零个或多个 n 字符串。...匹配任何包含零个或一个 n 字符串。 RegExp对象 test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配文本,返回 true,否则返回 false。...exec() 方法用于检索字符串正则表达式匹配。 该函数返回一个数组,其中存放匹配结果。如果未找到匹配返回值为 null。

2.1K10

Servlet主要相关类核心类 容器调用过程浅析 servlet解读 怎么调用 Servlet是什么 工作机制

返回请求正文长度,如果请求正文长度未知,返回-1; getContentType() —— 获得请求正文MIME类型,如果请求正文类型为止,返回null; getInputStream()...; getParameters() —— 根据给定请求参数名,返回来自客户请求匹配请求参数值; getProtocal() —— 返回客户端服务器端通信所用协议名称及版本号; getReader...getMethod() —— 返回HTTP请求方式; getRequestURL() —— 返回HTTP请求头部第一行URL; getQueryString() —— 返回HTTP请求查询字符串...() —— 返回当前Web应用URL入口 getInitParameter() —— 返回Web应用范围内匹配初始化参数值。...URL getResourceAsStream() —— 返回一个用于读取参数指定文件输入流 getMimeType() —— 返回参数指定文件MIME类型 输出日志 log(String msg

1K10

Servlet和JSP总结

() 路径匹配 两种匹配方式: 精确匹配:web.xmlurl parttern要和请求地址一致 模糊匹配: 通过添加* 方式让多个请求地址对应一个Servlet /*: *代表一个或多个未知...在当前应用web.xml查找是否有匹配动态资源路径(Servlet) 2. 如果匹配执行相对应Servlet 3....如果没有匹配到会使用默认Servlet查找是否有同名静态资源 4. 如果返回资源文件 5....(boolean flag) 参数为false,如果不存在这个session,那么就返回一个null 参数为true,会通过cookiesessionid获取之前保存session对象,如果返回...如果找不到直接输出字符串"",如果没有获取到对象调用对象方法不会报空指针异常,仍然输出字符串 指定域获取 ${requestScope.user.name} 相当于 request.getAttribute

2.5K20

Nginx 静态资源访问

~* 』刚好和上面取相反值,如果匹配返回 false,匹配不上返回 true,进行模糊匹配 if ($http_user_agent ~ MSIE){ # $http_user_agent 是否包含...MSIE 字符串如果包含返回 true } 判断请求文件是否存在使用『 -f 』和『 !...'; } } 判断请求目录是否存在使用『 -d 』和『 !-d 』 当使用『 -d 』时,如果请求目录存在,返回 true如果目录不存在返回 false。 当使用『 !...-d 』时,如果请求目录不存在但该目录上级目录存在返回 true,该目录和它上级目录都不存在返回 false,如果请求目录存在也返回false。...所以当请求 break 时,如匹配成功,请求成功,返回 200;如果匹配失败,返回 404 服务器配置好 redirect 和 permanent 之后,打开浏览器分别访问这两个请求地址,然后停止

7.6K20

Jenkins声明式Declarative Pipeline

.+$' } 变更集 如果构建 SCM 变更集包含一个或多个给定字符串或全局匹配文件,执行该阶段。...: true } 改变请求 如果当前构建是针对“更改请求”(又名 GitHub 和 Bitbucket 上拉取请求、GitLab 上合并请求或 Gerrit 更改等),执行该阶段。...可以在属性之后添加可选参数比较器,以指定如何为匹配评估任何模式:EQUALS 用于简单字符串比较(默认),GLOB 用于 ANT 样式路径 glob(例如变更集相同),或 REGEXP 用于正则表达式匹配...简单地返回“0”或“false”仍将评估为“true”。 标签 如果 TAG_NAME 变量给定模式匹配执行阶段。示例:当{标签“发布-*”}。...可以在属性后添加可选参数比较器,以指定如何为匹配评估任何模式:EQUALS 用于简单字符串比较,GLOB(默认)用于 ANT 样式路径 glob(例如变更集相同),或 REGEXP 用于正则表达式匹配

3.5K20

ASP.NET MVC编程——路由

上面routes.IgnoreRoute("{resource}.axd/{*pathInfo}");{resource}代表一个路由参数,{resource}.axd代表以.axd结尾字符串;{...*pathInfo}也是一个路由参数,*代表匹配任何字符串,那么以pathInfo结尾串都会匹配到。...这条语句完整含义是:以axd结尾任何字符串,不论斜杠后是何种字符串都不执行路由行为。 映射路由 MapRoute也是RouteCollection 扩展方法,映射路由。...若,routes.RouteExistingFiles = false;,禁止匹配到现有文件,只能匹配路由表里虚拟路由。...注意: 对于1)如果请求URL能够匹配到网站根目录下实体文件,那么不会再匹配虚拟路由,除非通过RouteCollection.RouteExistingFiles来设置改变这一行为。

1.7K120

一文了解PHP各类漏洞和绕过姿势

int strcmp ( string $str1 , string $str2 ) 如果 str1 小于 str2 返回 < 0 如果 str1 大于 str2 返回 > 0 如果两者相等,返回 0...> 10、ereg()和eregi() 用于正则匹配,两者区别在于是否区分大小写 使用指定模式搜索一个字符串中指定字符串如果匹配成功返回true,否则返回false 该函数可被%00截断来Bypass...时,在将变量导入符号表过程如果变量名发生冲突,覆盖所有变量 值为EXTR_SKIP表示跳过不覆盖 若第二个参数未指定,则在默认情况下使用EXTR_OVERWRITE 当extract()函数从用户可以控制数组中导出变量且第二个参数未设置或设置为...data://:写入数据 phar://:PHP归档 通常都会用在文件包含上 1、php:// 输入输出流 PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 输入输出流、标准输入输出和错误描述符...这个溢出只存在当索引值为数字时,输入数字为正,输出却为负值原因是函数参数输出类型不一致导致 看个例子 <?

4.1K60

JMeter详细使用手册

Jmeter工作原理 Jmeter可以作为web服务器浏览器直接代理网关,以便捕获浏览器请求web服务器响应,如此就可以很容易地生成性能测试脚本。...此外,变量表达式可以返回任何值,而JavaScript条件必须返回true或false,否则将记录错误。 当选择“Evaluate for all children?”...:匹配任何单个字符。例如Perl正则表达式r.t匹配这些字符串:rat、rut、rt,但是不匹配root :匹配行结束符。...另外值得注意一个地方是,如果参数中有中文情况,运行时候可能会出现乱码,这个时候就需要注意你在Jmeter编码设置你要请求网页编码是一致。...· Bytes:请求字节数 如果Status为叉,那很显然请求是失败了,但如果是勾,也并不能认为请求就一定完全成功了,因为还得看Bytes字节数是否是所请求网页正常大小值,如果不是说明发生了丢包现象

3.6K10

编程日记:PHP实用函数记录

php //如果设置为 TRUE忽略用户断开(脚本将继续运行)。默认情况下是设置为 FALSE,客户机断开会导致脚本停止运行。...返回值: 如果成功返回包含被解析日期信息关联数组,如果失败返回 FALSE。...规定要检查 ini 文件。 process_sections 可选。如果设置为 TRUE返回一个多维数组,包括了配置文件每一节名称和设置。默认是 FALSE。...[()\" 也不能用在键名任何地方。 字符串函数 addcslashes() 返回在指定字符前添加反斜杠字符串。 addslashes() 返回在预定义字符前添加反斜杠字符串。...PHP 过滤器 PHP 过滤器用于验证和过滤来自非安全来源数据,比如用户输入。 测试、验证和过滤用户输入或自定义数据是任何 Web 应用程序重要组成部分。

2.7K20

URL重写

,该条目REQUEST_URI相同,则将返回该键对应值。...,执行一系列行为 name属性:仅用于追踪输出以识别规则 stopProcessing属性:默认为false,如果满足此规则条件,设置为true以停止处理此列表规则,需要关注是父级rules...例如,如果您只想保留查询字符串某些参数并删除所有其他参数,此操作可以做到这一点 scope属性:定义请求哪一部分将受到影响。...matchGroup:最后一个match元素请求匹配组之一。索引0是整个匹配项,索引1是匹配组1等。这等效于{r:n}语法,但更具可读性。...要使用此功能,请在match中使用正则表达式,并使用()标识匹配组。 conditionGroup:最后一个condition元素请求匹配组之一。只有使用正则表达式语法条件才能生成匹配组。

4.9K20

EL表达式详解_EL表达式问内置对象属性值

最常用 隐式对象有${param}和${paramValues}. ${param}表示返回请求参数单个字符串值....${sessionScope.username} 2)输入有关隐含对象 输入有关隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。...取得请求URL,但不包括请求之参数字符串 ${pageContext.request.contextPath} 服务web application 名称 ${pageContext.request.method...如果直到最后依然没有找到匹配 变量,返回null....${i>1} 如果变量值i>1的话,将返回bool类型true上例比较,可以发现EL会自 动根据表达式计算结果返回不同数据类型。 表达式写法java代码表达式编写方式大致相同。

3.4K20

python day six

(commons,"login")     #查找commons里边有没有login;有返回True,没有返回False ##python 有两个web模块:Tornado和Django #以例1案例更改后如下...+m, fromlist=True)             #fromlist=True 代表告诉是以字符串拼接方式             #如果不加,只导入lib.之前模块lib '''...即os.path.split(path)第二个元素 os.path.exists(path)         如果path存在,返回True如果path不存在,返回False os.path.isabs...(path)         如果path是绝对路径,返回True os.path.isfile(path)        如果path是一个存在文件,返回True。...否则返回False os.path.isdir(path)          如果path是一个存在目录,返回True

44420

nginx之rewrite模块

regex 正则表达式: 字符 描述 \ 将后面接着字符标记为一个特殊字符或者一个原义字符或一个向后引用 ^ 匹配输入字符串起始位置 $ 匹配输入字符串结束位置 * 匹配前面的字符零次或者多次 +...URI规则 break 本条规则匹配完成后终止,不在匹配任何规则 redirect 返回302临时重定向 permanent 返回301永久重定向 ---- 如果有last参数,那么停止处理任何rewrite...这样的话,浏览器看到302,就会再发起一次请求,真正返回响应结果就是这第二个请求。 break:停止处理任何rewrite相关指令,就如同break 指令本身一样。...,就是如果replacement包含请求参数,那么默认情况下旧URI请求参数也会拼接在replacement后面作为新URI,如果不想这么做,可以在replacement最后面加上?..."; $document_root, 针对当前请求根路径设置值; $document_uri, $uri相同; $host, 请求信息"Host",如果请求没有Host行,等于设置服务器名

2.8K20

Nginx从入门到放弃06-NginxN种特别实用示例

~* \.xhtml$ { #规则G}通用匹配(/ 开头)任何请求都会匹配到。...="比较变量和字符串是否相等,满足条件为true,不满足为false如果请求方法等于POST返回 405。...if ($request_method = POST){return 405;}3.使用正则表达式对变量进行匹配匹配成功返回true,否则返回false。变量正则表达式之间使用"~","~","!...~*"刚好和上面取相反值,如果匹配返回false,匹配不上返回true如果http_user_agent包含MSIE返回404if ($http_user_agent ~ MSIE){#$http_user_agent...是否包含MSIE字符串如果包含返回truereturn 404;}注意:正则表达式字符串一般不需要加引号,但是如果字符串包含"}"或者是";"等字符时,就需要把引号加上。

2.5K21

收藏~ 一篇教会你写90%shell脚本

-lt : 检测左边数是否小于右边如果是,返回 true。 [ a -lt b ] 返回 true。 -ge: 检测左边数是否大于等于右边如果是,返回 true。...[[ ]]增加模式匹配特效; (( ))不需要再将表达式里面的大小于符号转义,除了可以使用标准数学运算符外,还增加了以下符号 image.png ---- 输出 echo 仅用于字符串输出,没有使用...转义符: \a :警告字符,通常为ASCIIBEL字符 \b :后退 \c :抑制(不显示)输出结果任何结尾换行字符(只在%b格式指示符控制下参数字符串中有效),而且,任何留在参数里字符...可以用case语句匹配一个值一个模式,如果匹配成功,执行相匹配命令。...echo输出会组合成一个字符串作为下述BIN值 } BIN=`abs_path` # BIN赋值函数返回值,如果没有return,函数中所有的echo、printf输出组合成一个字符串传入BIN

2.3K10

【知识总结】Shell脚本编程入门

-lt 检测左边数是否小于右边如果是,返回 true。 [ b ] 返回 true。 -ge 检测左边数是否大于等于右边如果是,返回 true。 [ b ] 返回 false。...-le 检测左边数是否小于等于右边如果是,返回 true。 [ b ] 返回 true。...-w file 检测文件是否可写,如果是,返回 true。 [ -w $file ] 返回 true。 -x file 检测文件是否可执行,如果是,返回 true。...printf 转义序列 序列 说明 \a 警告字符,通常为ASCIIBEL字符 \b 后退 \c 抑制(不显示)输出结果任何结尾换行字符(只在%b格式指示符控制下参数字符串中有效),而且,任何留在参数里字符...可以用 case 语句匹配一个值一个模式,如果匹配成功,执行相匹配命令。

3K20
领券