nginx root&alias 文件路径配置

227 阅读1分钟

nginx 指定文件路径有两种方式 root 和 alias。root 与 alias 主要区别在于 nginx 如何解析location 后面的 uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

 [root] 

语法:root path 

 默认值:root html 

配置段:http、server、location、if


 [alias] 

 语法:alias path 

 配置段:location


 例: 

location ~ ^/httplogs/ { 

    root /data/logs 

如果一个请求的 URI 是/httplogs/share.vhost.cn-access.log 时,web服务器将会返回服务器上的 /data/logs/httplogs/share.vhost.cn-access.log 的文件。 root 会根据完整的 URI 请求来映射,也就是/path/uri。 因此,前面的请求映射为 path/httplogs/share.vhost.cn-access.log。 


 location ^~ /applogs/ { 

     alias /data/logs;

 }

 alias 会把 location 后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。如果一个请求的 URI 是 /applogs/share.vhost.cn-access.log 时,web服务器将会返回服务器上的 /data/logs/share.vhost.cn-access.log 的文件。 

1. 使用 alias 时,目录名后面一定要加 "/"。

 2. alias 可以指定任何名称。 

3. alias 在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。 

4. alias 只能位于 location 块中。