location配置命令
- ~ 波浪线表示执行一个正则匹配,区分大小写
- ~* 表示执行一个正则匹配,不区分大小写
- ^~ ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录。
- = 进行普通字符精确匹配。
- @ “@” 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files。
匹配优先级
按配置文件顺序搜索下来,
1. = 精确匹配,如果匹配精确匹配,nginx停止搜索其他匹配。
2. ^~ :若匹配该规则,nginx停止搜索其他匹配。
3. 正则匹配:带有”~”和”~*”的指令。它的优先级比^~和精确匹配低。如果找到相应的匹配,则nginx还要搜索有无匹配的^~和精确匹配,若无才采用此匹配;
4. 普通字符匹配,它的优先级最低。也就是说如果该项匹配,还需去看有没有正则表达式匹配和更长的匹配。