Nginx配置中的 root 与 alias 指令区别详解

root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如:

location /i/ {
    root /data/w3;
}

请求 http://foofish.net/i/top.gif 这个地址时,那么在服务器里面对应的真正的资源是 /data/w3/i/top.gif文件,注意 真实的路径是root指定的值加上location指定的值 。 


而 alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的 真实路径都是 alias 指定的路径 ,比如:

location /i/ {
    alias /data/w3/;
}

同样请求 http://foofish.net/i/top.gif 时,在服务器查找的资源路径是:/data/w3/top.gif

 


其他区别:

alias 只能作用在location中,而root可以存在server、http和location中。
alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无

时间: 2024-10-27 03:03:19

Nginx配置中的 root 与 alias 指令区别详解的相关文章

C#中string.Empty和null的区别详解

  这篇文章主要介绍了C#中string.Empty和null的区别详解,本文同时讲解了空字符串和Empty的区别以及string.Empty与null的区别,需要的朋友可以参考下 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得都是不求甚解,有一些还是在误导别人.下面我来说下我对这三者的理解,如有错误的地方请大家及时指正. 一:""与string.Empty我认为是一样的.网上有一篇被转载了几十遍的文章是这样说的string.Empty 不分配存储空间,"

JQuery中$.each 和$(selector).each()的区别详解

 这篇文章主要介绍了JQuery中$.each 和$(selector).each()的区别详解,本文给出了多个例子讲解了它们之间的不同之处,需要的朋友可以参考下     一个通用的遍历函数 , 可以用来遍历对象和数组. 数组和含有一个length属性的伪数组对象 (伪数组对象如function的arguments对象)以数字索引进行遍历,从0到length-1, 其它的对象通过的属性进行遍历. $.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前

linux中alias指令使用详解

alias是命名别名,当你惯用的某些指令特别长的时候,或者增加设置默认的选项在某些危险的指令后面防止手滑误操作. 比如执行下面命令:列出所有,包括隐藏文档,并且按页显示 [Sun@localhost ~]$ ls -al | more 这样的命令如果你觉得太长太烦,可以用alias指令这样设置: [Sun@localhost ~]$ alias lm='ls -al | more' 现在再使用lm命令就会得到一样的效果   root可以使用rm来移除任何数据,当我们在使用root身份来操作时就要

java中public class与class的区别详解

以下是对java中public class与class的区别进行了分析介绍,需要的朋友可以过来参考下   在编写类的时候可以使用两种方式定义类:public class定义类: class定义类:如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致.范例:定义一个类(文件名称为:Hello.java) 复制代码 代码如下: public class HelloDemo{    //声明一个类,类名称的命名规范:所有单词的首字母大写     public s

网络交换机中的堆叠与级连区别详解

级连扩展 级连扩展模式是最常规,最直接的一种扩展方式,一些构建较早的网络,都使用了集线器(HUB)作为级连的设备.因为当时集线器已经相当昂贵了,多数企业不可能选择交换机作为级连设备.那是因为大多数工作组用户接入的要求,一般就是从集线器上一个端口级连到集线架上.在这种方式下,接入能力是得到了很大的提高,但是由于一些干扰和人为因素,使得整体性能十分低下,只单纯地满足了多端口的需要,根本无暇考虑转发交换功能.现在的级连扩展模式综合考虑到不同交换机的转发性能和端口属性,通过一定的拓扑结构设计,可以方便地

mysql中int(1)和int(11)区别详解

mysql字段定义中INT(x)中的x仅仅指的是显示宽度.该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度.显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示.所以x的定义与存储空间没有任何关系都是4个字节. 作为SQL标准的扩展,MySQL也支持整数类型TINYINT.MEDIUMINT和BIGINT.下面的表显示了需要的每个整数类型的存储和范围. 类型 字节 最小值 最大值     (带符号的/无符号的) (带符号的/无符号的) TINYINT 1

Android中Handler Runnable与Thread的区别详解

转自: http://www.codeceo.com/article/android-handler-runnable-thread.html Android中Handler可以异步控制Runnable,那么这样做于Android中的Thread有什么区别呢?本文将通过多个角度来讲解这个问题,读完此文,相信你会对Android中的Handler Runnable与Thread有一个非常全面的了解. 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Th

jquery中$(document).ready()和onload用法区别详解介绍

页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内的所有元素都加载完成.(可以说:ready 在onload 前加载!!!) 一般样式控制的,比如图片大小控制放在onload 里面加载; jS事件触发的方法,可以在ready 里面加载; 用jQ的人很多人都是这么开始写脚本的: 通常的写法  代码如下 复制代码 $(function(){ // do something }); 其实这个就是jq ready

Javascript中outerHTML、innerHTML和innerText区别详解

示例代码:  代码如下 复制代码 <div id="test"> <span style="color:red">test1</span> test2 </div> 在JS中可以使用:  代码如下 复制代码  document.getElementById('test').innerHTML: 也就是从test对象的起始位置到终止位置的全部内容,包括其内部的Html标签. 上例中的返回值:<span style=