location ^~ /client/{
#映射的目录
alias /data/client/;
#不打印访问日志
access_log off;
}
以=开头表示精确匹配
如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
^~ 开头表示uri以某个常规字符串开头,不是正则匹配
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
下面这段为root和alias的区别
location ^~ /t/ {
root /www/root/html/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件
location ^~ /t/ {
alias /www/root/html/at/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/at/a.html的文件。
注意这里是at,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录
注意:
1. 使用alias时,目录名后面一定要加"/"。
3. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
4. alias只能位于location块中。(root可以不放在location中)