nginx location 匹配规则

2021-07-11  本文已影响0人  AD刘涛

处理静态内容

root 指令

首先,创建/data/ www目录并在该目录下创建index.html文件,其次创建/data/images目录并在该目录下放入一些图片。

接下来,打开配置文件。默认配置文件已经包含多个服务器块的几个示例,大部分注释掉了。现在,注释掉所有这些块,并启动一个新的服务器块。内容如下:

server {
    listen 90;
    location / {
        root /data/www;
    }

    location /images/ {
        root /data;
    }
}

当我们在浏览器输入以下地址时,http://127.0.0.1:90,则会显示/data/www目录下的index.html文件;当我们在浏览器输入以下地址时,http://127.0.0.1:90/images/1.jpeg,则会显示/data/images目录下的图片。

我们在浏览器中输入以下地址 http://127.0.0.1:90/images/1.jpeg 访问图片的时候,路由中的/images/会拼接在/data后,然后去访问/data/images/目录下的图片资源。

alias 指令

我们也可以使用alias 指令。如下

   #location /images/ {
   #   root /data;
   #}

   location /images {
       alias /data/images;
   }

当我们在浏览器输入以下地址时,http://127.0.0.1:90/images/1.jpeg,则会显示/data/images目录下的图片。

root 指令与 alias 指令的区别

假如图片在服务器中的路径为 /data/images/file/img/1.jpeg

location /images {
    root /data
}

用户访问的时候,请求为:url:port/images/file/img/1.jpeg

  location /hello {
       alias /data/images;
  }

用户访问的时候,请求为:url:port/hello/file/img/1.jpeg。如此相当于为目录/data/images做了一个别名。

上一篇 下一篇

猜你喜欢

热点阅读