nginx location配置
location控制网站的访问路径
文章目录
1. Location的优先级和匹配方式
匹配符 | 匹配规则 | 优先级 |
---|---|---|
= | 精确匹配 | 1 |
^~ | 以某个字符串开头 | 2 |
~ | 区分大小写的正则匹配 | 3 |
~* | 不区分大小写的正则匹配 | 4 |
!~ | 区分大小写不匹配的正则 | 5 |
!~* | 不区分大小写不匹配的正则 | 6 |
/ | 通用匹配,任何请求都会匹配到 | 7 |
2. 配置举例
2.1 通用匹配,任何请求都会匹配到
location / {
}
2.2 严格区分大小写,匹配以.php结尾的都走这个location
location ~ \.php$ {
fastcgi_pass http://127.0.0.1:9000;
}
2.3 严格区分大小写,当用户访问/.zip结尾,统统全部拒绝
location ~ \.zip$ {
deny all;
}
2.4 不区分大小写匹配,只要用户访问.jpg,gif,png,js,css 都走这条location
location ~* .*\.(jpg|gif|png|js|css)$ {
root /code/xuliangwei;
expires 7d;
#rewrite (.*) http://cdn.xuliangwei.com$request_uri;
}
2.5 不区分大小写匹配,
location ~* "\.(sql|bak|tgz|tar.gz|.git)$" {
return 403 "启用访问控制成功";
}