Nginx中location的作用是根据匹配模式+URI处理用户请求(将请求转发给其他服务器处理或查找本地文件)。location的语法是:location[=|^~|~|~*]/URI{…}其中“=”、“^~”、“~”、“~*”指定匹配模式。location的匹配优先级先匹配,优先级相同的情况下,再按顺序匹配。(即它们在配置文件中出现的顺序并不完全匹配)优先级从高到低的顺序是:location=/uri1#精确匹配/uri1(uri1必须完全相同才能匹配成功)location^~/uri2#带参数的前缀匹配(uri2和requesturl以相同的开头匹配)location~/uri3#正则匹配(区分大小写)location~*/uri4#正则匹配(不区分大小写)location/uri5#普通前缀匹配(如果uri5开头和用户请求的url相同则匹配成功,如果有多个共同匹配且都匹配成功则按最长的)location/#如果没有匹配则按此规则。其他类型的匹配将立即停止;2.当没有完全匹配成功时,会进行带参数的前缀匹配。先搜索带^~的前缀匹配,如果带^~的前缀匹配成功则立即停止其他类型的匹配;如果3,4,=和^~没有匹配成功,则搜索正则匹配~和~*。当同时存在多个正则匹配时,会按照在配置文件中出现的先后顺序优先匹配,其他类型的匹配如果命中则立即停止;如果5和1234都没有匹配成功,则进入规则5,如果规则5有多个匹配成功,则进入最长的规则(如果有location/static,则匹配location/static/img两个公共前缀,当请求为/static/img/111.jpg时,第二个location匹配的时间较长,因此与/static/img匹配成功)6.如果不满足前面的匹配条件,则进入此端更新到你的语雀https://www.yuque.com/diracke...
