Location指令是nginx配置中非常重要的指令,用来为匹配的URI进行配置,URI即URI语法中的“/uri/” ,可以是字符串或正则表达式,如果要使用正则表达式,则必须指定前缀。
一、基本语法
location [=|~|~*|^~|@] /uri/ { ... }
=:表示精确匹配,如果找到,立即停止搜索并立即处理此请求。
~:表示区分大小写匹配。
~*:表示不区分大小写匹配。
^~:表示只匹配字符,串不查询正则表达式。
@:指定一个命名的location,一般只用于内部
重定向请求。
二、匹配过程
首先,对字符串进行匹配查询,最确切的匹配将被使用。
然后,正则表达式的匹配查询开始,匹配第一个结果后停止搜索,如果没有找到则正则表达式,将使用字符串的搜索结果,如果字符串和正则表达式都匹配,则正则优先级较高。
三、配置实例
复制代码 代码示例:
#只匹配对 / 目录的查询
location =/ {
[ config a]
}
#匹配以 / 开始的查询,即所有查询都匹配
location / {
[config b]
}
#匹配以 /images/ 开始的查询,不再检查正则表达式
location ^~ /images/ {
[config c]
}
#匹配以gif、jpg或者jpeg结尾的文件,但优先级低于config c
location ~* .(gif|jpg|jpeg)$ {
[config d]
}
很喜欢nginx配置文件的风格,有点写php代码的感觉,呵呵。
更多有关nginx配置的文章,请参考本站的nginx教程栏目。