nginx 是前端常用的服务器, 配置 location 是一项必须掌握的技能。如下是我整理的一些常用 location 常用配置
location / {
root /path/to/public
try_files $uri $uri/ /index.html;
}
nginx location 共有 [ = | ~ | ~* | ^~ ]
可选前缀方式。
假如有如下配置
location = / {
[ configuration A ]
}
location / {
[ configuration B ]
}
location /documents/ {
[ configuration C ]
}
location ^~ /images/ {
[ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
[ configuration E ]
}
B
=
会使用严格模式,只有当请求为”/“时才访问A
。并且其优先级最高~*
,~
的区别为:~*
是大小写不敏感(case-insensitive), ~
大小写敏感(case-sensitive), 由于一般服务都部署在 linux 上, 故推荐使用~
^~
: 会提升优先级, 首先匹配路由, 优先级会仅次于=
。一经匹配, 遍不会使用其他路由。只有
~
开头的方式才能使用正则表达式,^~
后面不能使用正则!
gif,jpg, jpeg
location ~* \.(gif|jpg|jpeg)$ {
}
# 如果要求必须包含至少一个长度 使用 ~* ^\/(user|product)\/.+
location ~* ^\/(user|product)\/ {
}