【nginx】location匹配顺序

2020-05-09  本文已影响0人  印比八方来

一.在nginx配置网页时,一般常用配置

location / {
    root /apps/web/www;
    try_files $uri /index.html;
    index index.html;
}


location  ~ .*\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt)$
{
    root /apps/web/www;
}

二.在对业务媒体文件需要指定存储路径时,进行配置

location ^~ /media {
    rewrite  ^/media/(.*)$ /$1 break;
    root /apps/data/media;
}

这里匹配使用 ^~
因为如果直接使用 /media,那么如果访问的文件时jpg|jpeg|gif|png|ico|css|js|pdf|txt这几种,就会优先走

location  ~ .*\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt)$
{
    root /apps/web/www;
}

三.location的匹配顺序

location = /uri    =开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri   ^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern  ~开头表示区分大小写的正则匹配。
location ~* pattern  ~*开头表示不区分大小写的正则匹配。
location /uri     不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
location /      通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default。

上一篇 下一篇

猜你喜欢

热点阅读