文档章节

Nginx的 alias 与 root 的区别

山哥
 山哥
发布于 2011/08/05 17:49
字数 490
阅读 149
收藏 2
nginx貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的。
如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较“像”,干脆来说说alias标签和root标签的区别吧。
最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。另外,根据前文所述,使用alias标签的目录块中不能使用rewrite的break。
说不明白,看下配置:
location /abc/ {
    alias /home/html/abc/;
}
在这段配置下,http://test/abc/a.html就指定的是/home/html/abc/a.html。这段配置亦可改成
location /abc/ {
    root /home/html/;
}
这样,nginx就会去找/home/html/目录下的abc目录了,得到的结果是相同的。
但是,如果我把alias的配置改成:
location /abc/ {
    alias /home/html/def/;
}
那么nginx将会从/home/html/def/取数据,这段配置还不能直接使用root配置,如果非要配置,只有在/home/html/下建立一个 def->abc的软link(快捷方式)了。
一般情况下,在location /中配置root,在location /other中配置alias是一个好习惯。
至于alias和root的区别,我估计还没有说完全,如果在配置时发现奇异问题,不妨把这两者换换试试。
原文:http://www.sudone.com/nginx/nginx_alias.html

自己实践总结:
1、使用alias时目录名后面一定要加“/”
2、nginx、resin当虚拟目录名与真实目录同名时,虚拟目录比真实目录优先级要高。
3、前端nginx的虚拟目录与后端resin真实目录同名时,后端resin真实目录优先级要高(即使resin也配制了同名的别名)。
4、nginx+resin/tomcat整合过程中,发现Nginx的虚拟目录不能正确解析jsp,待解决。

本文转载自:http://hi.baidu.com/shenxiaolei_it/blog/item/89db3652d7afa1070cf3e3a0.html

山哥

山哥

粉丝 246
博文 354
码字总数 136686
作品 0
南京
程序员
私信 提问
nginx虚拟目录(alias与root的区别)

nginx貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的。 如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较“像”,干脆来说说alias标签和root标签的区...

李长春
2012/02/14
0
0
nginx中的root和alias区别

nginx貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的。 如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较“像”,干脆来说说alias标签和root标签的区...

周云台
2018/04/01
0
0
nginx虚拟目录设置 alias 和 root

nginx貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的。 如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较“像”,干脆来说说alias标签和root标签的区...

晨曦之光
2012/03/09
4.2K
0
Nginx 配置静态文件 404 问题

使用Nginx做访问静态资源的时候,配置之后访问一直是 404。 我的配置是 location /dist { root /usr/local/nginx/html/dist; } 原因: root 配置的意思是,会在root配置的目录后跟上URL,组成...

Jack088
01/10
0
0
Nginx将utf8编码的url解码成\x的16进制格式导致无法匹配静态文件的问题处理

例如请求/touch/article/北京/full.html,到达nginx后变成/ /touch/article/%E5%8C%97%E4%BA%AC/full.html, Nginx静态文件配置: location ~ ^/touch/article/..html$ { expires -1; root ......

hellooworld
2016/10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

容器服务Windows Kubernetes使用阿里云日志服务来收集容器日志

目前,容器服务Windows Kubernetes支持将业务容器产生的stdout输出、日志文件同步到阿里云日志服务(SLS)进行统一管理。 支撑组件安装 在Windows Kubernetes集群安装界面勾选使用日志服务,...

阿里云云栖社区
29分钟前
0
0
sql查询问题收集

sql的使用容易犯的错误 1、ISNULL使用 在多表关联时,最好只使用到最外层,不然会出现 空值。 sql的使用规范: 1,尽量避免大事务操作,慎用holdlock字句,提高系统并发能力。 2,尽量避免反...

轻轻的走过
50分钟前
4
0
抓包工具整理

tcpdump 常用与linux服务器 wireshark pc端抓包利器 Fiddler web抓包

以谁为师
57分钟前
3
0
彻底理解startActivity的启动过程这一篇就够了

基于Android 6.0的源码剖析, 分析android Activity启动流程,相关源码: frameworks/base/services/core/java/com/android/server/am/ - ActivityManagerService.java - ActivityStackSuper......

天王盖地虎626
今天
8
0
git 删除远程提交记录

不小心把密码提交到github怎么办? 1.切换到新的分支 git checkout --orphan latest_branch 缓存所有文件(除了.gitignore中声名排除的) git add -A 提交跟踪过的文件(Commit th...

18y
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部