前言
Location 是 Nginx 中一个非常核心的配置,这篇重点讲解一下 Location 的配置问题以及一些注意事项。
语法
关于 Location,举个简单的配置例子:
http {
server {
listen 80;
server_name www.yayujs.com;
location / {
root /home/www/ts/;
index index.html;
}
}
}
大致的意思是,当你访问 www.yayujs.com
的 80
端口的时候,返回 /home/www/ts/index.html
文件。
我们看下 Location 的具体语法:
location [ = | ~ | ~* | ^~ ] uri { ... }
重点看方括号中的 [ = | ~ | ~* | ^~ ]
,其中 |
分隔的内容表示你可能会用到的语法,其中:
=
表示精确匹配,比如:
location = /test {
return 200 "hello";
}
# /test ok
# /test/ not ok
# /test2 not ok
# /test/2 not ok
~
表示区分大小写的正则匹配,比如:
location ~ ^/test$ {
[ configuration ]
}
# /test ok
# /Test not ok
# /test/ not ok
# /test2 not ok
~*
表示不区分大小写的正则匹配
location ~* ^/test$ {
[ configuration ]
}
# /test ok
# /Test ok
# /test/ not ok
# /test2 not ok
^~
表示 uri 以某个字符串开头