nginx alias

前言

  • nginx version: nginx/1.18.0
  • CentOS Linux release 7.6.1810 (Core)

alias 语法

alias 的官方说明: http://nginx.org/en/docs/http/ngx_http_core_module.html#alias

Syntax:	alias path;
Default:	—
Context:	location

The path value can contain variables, except $document_root and $realpath_root.

示例

location /i/ {
    alias /data/w3/images/;
}
  • 当请求为“/i/top.gif”时, 返回文件“/data/w3/images/top.gif”

配合 location 的正则表达式使用

location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {
    alias /data/w3/images/$1;
}
  • 当请求为“/user/head.png”时, 返回文件“/data/w3/images/head.png”
  • 当请求为“/user/2021/04/18/d3n4iik9.png”时, 返回文件“/data/w3/images/2021/04/18/d3n4iik9.png”

alias 与 root 的区别

location /images/ {
    alias /data/w3/images/;
}
location /images/ {
    root /data/w3;
}
  • 上面两个配置是等效的。
  • 当请求为“/images/head.png”时,且使用 alias 的情况下,返回文件 “/data/w3/images/head.png” (alias path + head.png)。
  • 当请求为“/images/head.png”时,且使用 root 的情况下,返回文件 “/data/w3/images/head.png” (alias path + /images/head.png)。
  • location/images/ ,且 root 目录下包含 images 时,nginx 推荐使用root(上面的例子,nginx推荐使用root)。反之,当 location/images/ ,且 root 目录下未包含 images 时,此时使用root将不能正常工作,需要使用 alias。

错误

403错误

这样写是403错误:

    location ~ ^/tt/ {
        alias  /data/test/;
        index  index.html index.htm;
    }

这样写正确:

    location ~ ^/tt/(.*)$ {
        alias  /data/test/$1;
        index  index.html index.htm;
    }

[error] 21168#21168: *6855 open() “/xxx/xxx/” failed (13: Permission denied)

  • 文件所在目录必须具备rw权限
  • 文件必须具备r权限
    在这里插入图片描述
    upload是目录,1.jpg和1.txt是文件。

参考这里:https://blog.csdn.net/u010999809/article/details/100084838

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值