一、语法说明
-
alias
-
采用 alias
配置的资源目录必须是准确的。localtion
正则匹配到 path
后,直接在 alias
定义的目录下查找。
-
采用 alias
标签配置资源路径的 localtion
块中不能使用 rewrite
的 break
。
-
采用 alias
标签配置的资源目录后面必须要加上 /
符号。
-
root
P.S
-
采用 alias
配置的资源目录,localtion
正则匹配的 path
关键字后面不带 /
符号,那么请求访问这个 path
的 url
地址中带不带 /
都不会影响访问,因为此机制在访问的时候, Nginx
会自动加上 /
-
采用 alias
配置的资源目录,localtion
正则匹配的 path
关键字后面带上 /
符号,那么请求访问这个 path
的 url
地址中必须带上 /
,因为此机制 Nginx
不会自动加上 /
,如果不手动加上 /
,那么在访问的时候就会出现 404
,所以建议 localtion
正则匹配的 path
关键字后面不带 /
符号,要求alias
标签配置的资源目录后面必须要加上 /
符号
-
采用 root
配置的资源目录,localtion
正则匹配的 path
后面带不带 /
都不会影响访问
二、试验论证
-
前置约定
假设 Nginx
配置的域名为 www.rambo123.com
-
资源目录文件夹的名称和 path
一致
示例一
location /shop/ {
alias /opt/web/shop/;
index index.html index.htm;
}
以上通过 alias
配置资源目录,访问 www.rambo123.com/shop/index.html
实际指定的是 /opt/web/shop/index.html
P.S
alias
指定的资源目录后面必须要加上 /
,否则无法访问
示例二
采用 root
改造示例一
localtion /shop/ {
root /opt/web/;
index index.html index.htm;
}
以上通过 root
改造示例一的配置以后,达到的访问效果一致。通过 root
配置资源目录,访问 www.rambo123.com/shop/index.html
实际指定的是 /opt/web/shop/index.html
-
资源目录文件夹的名称和 path
不一致
示例三
localtion /web/ {
alias /opt/www/html/;
index index.html index.htm;
}
以上通过 alias
配置资源目录,访问 www.rambo123.com/web/index.html
实际指定的是 /opt/www/html/index.html
示例四
采用 root
改造示例三
如果非要采用 root
指定资源的方式来改造示例三,就只能通过软连的方式来实现
# 为 html 创建软链接(保持 /opt/www/html 与 /opt/www/web 内容一致)
ln -s /opt/www/web /opt/www/html
# 在进行 root 的配置
lcation /web/ {
root /opt/www/;
index index.html index.htm;
}
三、经验总结
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)