匹配模式及顺序
= 用于标准uri前,需要请求字串与uri完全匹配,如果匹配成功就停止向下匹配并立即处理请求。
~ 区分大小写
~* 不区分大写
^~ 开头对URL路径进行前缀匹配,并且在正则之前
!~ 区分大小写不匹配
!~* 不区分大小写不匹配
^ 匹配正则开头
$ 匹配正则结尾
\ 转义字符。可以转. * ?等
* 代表任意长度的任意字符
#不区分大小写匹配任何以gif、jpg、jpeg结尾的请求 location ~* .(gif|jpg|jpeg)$ { } #区分大小写匹配以.txt结尾的请求,并设置此location的路径是/usr/local/nginx/html/。也就是以.txt结尾的请求将访问/usr/local/nginx/html/ 路径下的txt文件 location ~ ^.+\.txt$ { root /usr/local/nginx/html/; } # ^~ 以 /admin/ 开头的请求,都会匹配上 location ^~ /admin/ { root /xvdb/mobai/ } 此时 /xvdb/mobai/目录中必须要有 admin 文件夹 #匹配成功: http://www.cnblogs.com/admin/index.jsp #匹配成功: http://www.cnblogs.com/admin/login.jsp #以 /dev_and_test 都会被匹配上,并且跳转到https://ng.cnblog.com location ^~ /dev_and_test { rewrite ^/dev_and_test/(.*)$ https://ng.cnblog.com/$1 permanent; } #匹配成功: http://www.cnblogs.com/dev_and_test/index.jsp 并且跳转到 https://ng.cnblog.com/index.jsp #忽略大小写,包含/Images/ location ~* /Images/ { } #匹配成功: http://www.cnblogs.com/test/Images/ #匹配成功: http://www.cnblogs.com/images/ #不加任何规则则时,默认是大小写敏感,前缀匹配,相当于加了“^”与“~” location /index/ { } #匹配成功: http://www.cnblogs.com/index #匹配成功: http://www.cnblogs.com/index/index.html #匹配失败: http://www.cnblogs.com/test/index #匹配失败: http://www.cnblogs.com/Index #精确匹配, 只匹配http://www.cnblogs.com location = / { } #匹配成功: http://www.cnblogs.com #匹配失败: http://www.cnblogs.com/index # 匹配到所有url location / { }
标签:www,匹配,cnblogs,Nginx,location,http,com From: https://www.cnblogs.com/zhaoyingjie/p/18058218