位置匹配规则
1。实例
<代码类=" language-bash ">服务器{ 位置=\ { (配置一个) } 位置/{ (配置B] } 位置=/图片/{ (配置C] } 位置^ ~/静态/{ (配置D] } localtion ~ * \。(gif | jpg | png) { (配置E) } }代码>
2。位置语法规则
<>强语法:强>
<代码类=" language-bash ">位置=| | ~ | ~ * ^ ~ | @/url/{//注意=,~,~ * ^ ~,@是位置的匹配规则,“|”表示或者 ” ……省略其他配置 }代码>
<>强规则说明:强>
符号 含义=字面精准匹配,如果匹配,则跳出匹配过程(不再进行正则匹配) ~ 开头区分大小写的正则匹配 ~ * 开头不区分大小写的正则匹配 ^ ~ 开头表示uri以某哥常规字符串开头,理解为匹配url路径即可/通用匹配,在没有正则表达式匹配时,任何请求都会匹配到 @ 不是普通的位置匹配,用于位置内部重定向的变量 ~ 开头区分大小写的正则匹配<强>多个位置配置的匹配顺序:强>
-
<李>首先匹配:“=袄?/>
<李>其次匹配:“^ ~“李>
<李>再匹配:文件位置书写顺序李>
<李>最后把所有请求交给通配符(“/?李>
注意:每次匹配成功后,停止匹配,会按照本匹配的位置处理请求
<强>按照上面实例进行说明匹配顺序:强>
-
<李>首先对比第一个位置,如果匹配就会停止匹配,并按照配置一进行处理请求:
<代码类=" language-bash ">=\{位置 (配置一个) }代码>李> <李>其次对比第二个位置,如果匹配就会停止匹配,并按照配置D进行处理请求:
<代码类=" language-bash ">位置^ ~/静态/{ (配置D] }代码>李> <李>再按照顺序依此进行对比,直到找到匹配的才会停止,并按照所匹配的配置*进行处理请求李> <李>
如果以上无任何匹配项则会选择通用选项,并按照所匹配的配置B进行处理请求:
<代码类=" language-bash ">位置/{ (配置B] }代码>
3。应用举例
李> <李>精准规则(=)<代码类=" language-bash ">=/{位置 根/var/ww/html/; }代码>
此规则表示只匹配以默认地址进行访问的请求,访问地址:http://NginxIP/
李> <李>匹配url路径(^ ~)<代码类=" language-bash ">位置^ ~/静态/{ 根/var/www/html/static; }代码>
此规则表示只匹配以“静态/翱返牡刂方蟹梦实那肭?访问地址:https://cache.yisu.com/upload/information/20200214/32/673.jpg | 。gif | * . jpg”的文件,访问地址:https://cache.yisu.com/upload/information/20200214/32/674.jpg
<代码类=" language-bash ">位置~ */测试/{ 根/var/www/html/; }代码>
此规则表示匹配url地址中存在测试的访问请求,不区分大小写测试也可以,访问地址:http://NginxIP/test/
李> <李>区分大小写(~)<代码类=" language-bash ">位置~/测试/{ 根/var/www/html/; }代码>
此规则表示匹配url地址中存在测试的访问请求,区分大小写,测试是进行匹配的,访问地址:http://NginxIP/Test/
李> <李>默认匹配(所有规则都可匹配)<代码类=" language-bash ">位置/{ 根/var/www/html; }代码>
此规则为默认匹配,他可以匹配所有以默认地址访问的链接,访问地址:http://NginxIP/login.html
李> <李>内部跳转(@)<代码类=" language-bash ">位置@index_error { 根/var/www/error/}代码>
此规则表示匹配以“索引/翱返那肭?如果链接状态,404会匹配到这条规则
重写规则详解
nginx的重写功能和apache一样,重写的主要功能是实现原则地址的重定向.Nginx的重写功能是由PCRE软件支持,重写模块即<代码> ngx_http_rewrite_module 代码>模块。从某种意义上可以说为了美观或者搜索引起的友好搜索,提高排名等
李>1。实例
<代码类=" language-bash ">服务器{ 听80; server_name www.jkyst.xyz jkyst.xyz; if($主机!=' www.jkyst.xyz ') { 重写^/(. *)http://www.jkyst.xyz/1美元永久性的; } ~ . * \位置。(png | gif | jpg) { 返回403; } }nginx位置匹配及重写规则