nginx路径设置(web)

Posted 小朱配齐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx路径设置(web)相关的知识,希望对你有一定的参考价值。

原文 https://www.jianshu.com/p/57db2c5d0cb9

语法

  • root

语法:root path
默认值:root html
配置段:http、server、location、if

  • alias

语法:alias path
配置段:location

root&alias区别

  • root

如果一个请求的 URI 是/weblogs/test.html时,web 服务器将会返回服务器上的/data/weblogs/b.hundred.com/weblogs/test.html 的文件。

实例

 
技术分享图片
配置内容

 
技术分享图片
文件夹里的文件

 
技术分享图片
test.html的内容

测试静态页面的路径是/data/weblogs/b.hundred.com/weblogs/test.html

 
技术分享图片
浏览器请求
  • uri为/weblogs/test.html,请求后的页面是/data/weblogs/b.hundred.com/weblogs/mysite.html.
    root 会根据完整的 URI 请求来映射,也就是/path/uri。
  • alias

alias 会把 location 后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。

实例

 
技术分享图片
配置内容

 
技术分享图片
测试的静态文档

测试静态页面的路径是/data/weblogs/b.hundred.com/mysite.html

 
技术分享图片
浏览器请求页面
  • uri为/mmp/mysite.html,请求后的页面是/data/weblogs/b.hundred.com/mysite.html.
  • /mmp/被替换为/data/weblogs/b.hundred.com/

注意

  • 使用 alias 时,目录名后面一定要加”/”。
  • alias 可以指定任何名称。
  • alias 在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
  • alias 只能位于 location 块中。

实际操作时发生的问题

在使用alias配置时,使用了alias /data/weblogs/b.hundred.com,结果在浏览器发起请求时,找不到页面。原来是目录名后面没有加”/”。之后,改成了alias /data/weblogs/b.hundred.com/就成功了。



作者:王一百
链接:https://www.jianshu.com/p/57db2c5d0cb9
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。












以上是关于nginx路径设置(web)的主要内容,如果未能解决你的问题,请参考以下文章

markdown 在Intel Nuc上设置Ubuntu Web服务器,步骤和代码片段

nginx同域名配置多目录路径

web服务之源码编译安装 LNMP

ThinkPHP5 Nginx通用配置

在Docker下部署Nginx

Nginx修改静态文件访问路径