Nginx的location配置中root与alias有区别

一直以来对nginx中root、alias指令的区别没有搞清楚,今天特别查找了一些资料,同时通过实例配置nginx的方法来对比这两个指令。

一.nginx root指令

root指的是根目录,可以简单地理解为父目录。

举例:

location /a/ { ...; root /www/;...}

当我们访问xxx/a/时,就是/www/a/下的文件了,若目录b是a的子目录,我们访问xxx/a/b时,就是/www/a/b/下的文件了。

简单地理解就是root时,访问时自动带上请求中的相对目录。

二.nginx alias别名配置

location /b/ {...; alias /www/a/b/;...}

从配置上我们可以看出,alias所指定的目录是必须指定真实的目录的,同时b目录必须指定/b/,后面要带/(root可以忽略)。

总结下就是:

1. Root是Alias的父目录,Alias是子目录,且有/的强制区别;

2. Root及alias指令主要是目录对应关系同location不同;

3. Root的最后一个“/”要同location的第一个“/”对应,其他目录结构同location中剩余相同;

4. Alias的最后一个“/”要同location的最后一个“/”对应。

相关推荐:
这种技巧据说能够把数码相机图像增大到整个海报大小,而用肉眼几乎看不出图像质量的降低。是不是如此呢? 大家不妨一起来试试 1.启动Photoshop,然后打开一幅图像。 2.选择“图像大小”命令。注意两个地方: …
安装完tomcat8.x后,进入其目录/usr/local/tomcat/bin/,运行startup.sh,出现错误: touch: cannot touch ‘/usr/local/tomcat8/logs/catalina.out’:No such file or directory 其解决办法如下: 1.自己建 …
背景信息: 2019年4月02日,监测到Kubernetes官方发布安全通告,披露了一个Kubernetes API服务器patch请求远程拒绝服务漏洞CVE-2019-1002100。 漏洞描述: 拥有补丁权限的恶意用户通过发送特定超长的“json- …
使用隐式intent进行广播会造成数据泄露、拒绝服务、钓鱼等安全问题。 使用Intent.setPackage 、Intent.setComponent、Intent.setClassName、Intent.setClass、new Intent(context,Receivered.class)中任一 …
1.错误ID:10005,错误信息:DCOM 遇到错误“无法启动服务,原因可能是它被禁用或与它相关联的设备没有启动。 ”,试图以参数“”启动服务 SENS 以运行服务器: {D3938AB0-5B9D-11D1-8DD2-00AA004ABD5E} 2.错误ID: …
拿起手机扫一扫即可带走我!