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的区别,我估计还没有说完全,如果在配置时发现奇异问题,不妨把这两者换换试试。
nginx alias的设置
nginx也有像apache的别名功能,格式为:
location ~ /alias { root /home/www/default; index index.php; }
但nginx在处理php脚本时,需要传递给fastcgi才能处理,所以比apache的别名设置多一个,下面我们以phpmyadmin别名设置为例:
location ~ ^/phpmyadmin.+.php$ { root /home/www/default; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /phpmyadmin { root /home/www/default; index index.php; }
相关推荐
有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在nginx根目录下,这个时候就需要简单的做一下目录映射来解决,比如想通过浏览器... location /image/ { ...
root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。 [root] 语法:root path 默认值:root html 配置段:http、server、location、if [alias] 语法:...
首先,`root`指令的作用是设置一个基本目录,然后将这个目录与location后面的URL路径相结合,来确定实际要访问的文件路径。例如,如果配置为`root /data/w3;`,然后请求`http://foofish.net/i/top.gif`,Nginx将在...
本文讲述了PHP(FastCGI)在Nginx的alias下出现404错误的解决方法。分享给大家供大家参考,具体如下: 在Nginx的官方wiki中如下描述 The alias directive cannot be used inside a regex-specified location. If you ...
修改root映射,通过Nginx rewrite内部跳转,设置别名alias映射实现,通过nginx的permanent 301绝对跳转实现. 1 nginx修改root映射 修改root映射实现nginx目录访问重定向是最简单的方式, 推荐采用这一种. location /...
7.nginx root&alias文件路径配置 8.nginx日志配置 9.apache和nginx支持SSL配置 10.nginx日子切割 11.Nginx重新规则指南 12.Nginx逻辑运算 13.隐藏Nginx版本号的安全性与方法 14.CDN调度器HAProxy、Nginx、Vamish 15....
`root` 和 `alias` 在 Nginx 中用于指定服务器文档根目录,但它们之间存在一定的区别。 - **Root**: 指定的路径被视为绝对路径,与请求 URI 直接拼接。 - **Alias**: 指定的路径被视为相对路径,且必须以斜杠 `/` ...
- `root`和`alias`:设置文档根目录,`root`是相对于配置文件的路径,`alias`则是绝对路径。 4. **Nginx反向代理与负载均衡**: 反向代理功能使得Nginx能隐藏后端服务器,提高安全性。通过`proxy_pass`,可以将...
而root指令则与这些匹配规则配合,告诉Nginx在哪些目录下寻找请求的文件。location块可以嵌套在server块中,也可以嵌套在其他location块中,形成一种层级关系。 alias指令与root类似,但它在处理location块中的路径...
标题中的"NGINX实现一个域名访问多个项目1"是指利用Nginx服务器的配置能力,让同一个域名能够根据不同的URL路径指向不同的应用或项目。描述中提到,这是为了解决在一个域名下部署多个项目的问题,避免为每个项目单独...
**Nginx与Nginx.conf配置详解** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,以其稳定性高、性能出色、配置简单以及占用资源少等优点,在互联网行业中被广泛应用。...
Nginx 对静态文件(如 HTML、CSS、JavaScript、图片等)的处理非常高效,可以直接将静态资源目录配置为 Nginx 的根目录,通过 `root` 或 `alias` 指令提供服务。 总结,Nginx 1.9.0 在 Windows 64 位系统上的配置...
# Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤: cd /usr/local/src sudo wget ...
- `root`指令设置根目录,例如:`root /var/www/html;`,这意味着所有相对于请求URL的文件路径都将从`/var/www/html`开始查找。 - `alias`指令用于重定向请求到指定的绝对路径,例如:`alias /uploads/ /var/...
这是因为`root`是相对于配置文件所在目录的路径,而`alias`则是指向实际的文件系统路径。 **重启Nginx服务** 完成上述配置后,别忘了保存并重启Nginx服务以应用更改: ```bash sudo nginx -s reload ``` **故障...
通过配置`root`或`alias`指令,可以指定静态文件的存储路径。 **URL重写** Nginx支持基于正则表达式的URL重写规则,这使得可以对URL进行灵活的管理和美化,提高用户体验。使用`rewrite`指令可实现这一功能。 **...
3. root和alias:`root`用于设置请求的根目录,`alias`则可以重定向到任何路径,常用于URL重写。 4. index:指定服务器在找不到精确匹配的URI时,自动尝试的索引文件列表。 5. proxy_pass:在反向代理场景下,用于...