前言
- 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/\;
}
- 当请求为
“/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。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/1722.html