语法
location [=|~|~*|^~|@] uri { … }
匹配规则
=:精确匹配,要求请求字符串和 uri 严格匹配,如果匹配成功就停止匹配
~:正则匹配,区分大小写
~*:正则匹配,不区分大小写
^~:前缀匹配,如果匹配成功就停止匹配
@:定义一个命名的 location,在内部定向时使用,例如:error_page
匹配顺序
= 大于 ^~ 大于 ~ 或 ~* 大于 /
alias 与 root 的区别
root:root 路径 + location 路径
alias:使用 alias 路径替换 location 路径
使用 alias 时,目录名后面一定要加 "/",alias 只能位于 location 块中,root 可以不放在 location中
alias 与 root 的使用
└── workspace
├── dir
└── www
└── test
├── html
│ └── a.html
└── otherhtml
└── a.html
#使用 root 关键字
location ^~ /test/html/ {
root /workspace/www;
}
访问 http://server_name/test/html/a.html
#使用 alias 关键字
location ^~ /otherhtml/ {
alias /workspace/www/test/otherhtml/;
}
访问 http://server_name/otherhtml/a.html