首页 > 系统相关 >Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias

Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias

时间:2024-03-27 22:26:38浏览次数:33  
标签:index 映射 Nginx 静态 uri alias html root

场景

Nginx搭建静态资源映射实现远程访问服务器上的图片资源:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117283572

以上在配置静态资源映射时使用的如下配置

      location / {
            root   D:/pic_old/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
       }

如果想实现在映射后的路径添加前缀,比如

      location /report/ {
            root   D:/pic_old/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
       }

原本想实现在访问

http://127.0.0.1:250/report/mark.jpg

时找到D:/pic_old/下的mark.jpg文件,发现却实现不了。

通过查看日志发现,注意这里配置的是test,不是pic_old

 

使用root,则Nginx 会将请求的 URL 路径与指定的根目录路径进行拼接。这意味着 URL 中的路径会映射到文件系统中的对应位置。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi

实现

root配置

使用 root 指令时,Nginx 会将请求的 URL 路径与指定的根目录路径进行拼接。

这意味着 URL 中的路径会映射到文件系统中的对应位置。

假设我们有以下配置

        location /report/ {
            root    D:/test/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

当收到的请求是

http://127.0.0.1:250/report/mark.jpg

Nginx会查找文件系统中的D:/test/report/mark.jpg并返回该文件。

alias配置

与 root 不同,alias 指令允许我们在返回文件时,重写 URL 路径的部分或全部。

这对于需要在返回文件时修改 URL 路径的情况非常有用。

假设有如下配置

        location /report/ {
            alias    D:/test/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

当收到的请求是

http://127.0.0.1:250/report/mark.jpg

Nginx会查找文件系统中的D:/test/mark.jpg并返回该文件。

标签:index,映射,Nginx,静态,uri,alias,html,root
From: https://www.cnblogs.com/badaoliumangqizhi/p/18100411

相关文章

  • Java ----- 静态、继承、引用类型使用
    面向对象最重要的两个概念:类和对象;类名的首字母大写,满足“驼峰写法”;一个Java代码文件中,可以定义多个类,但是只有一个类是public修饰的,而且public修饰的类名必须成为代码的文件名称;、类中的成分研究:类中有且仅有五大成分(五大金刚)1.成员变量(Field:描述类和对象的属性信......
  • Spring整合Mybatis方式一 - 常规整合 - 注册映射器
    前置工作导包(mybatis-spring、mysql-connector-java、mybatis、spring-webmvc等)实体类DAO层两个文件(接口、xml文件);Service层的接口编写Spring管理mybatis的xml-spring-dao.xml核心代码(两种方式实现)第一种:xml<!--将会话工厂对象托管给spring--><beanid="sqlSess......
  • java.web 中的路径映射是啥
    在JavaWeb开发中,路径映射指的是将HTTP请求的URL与服务器端的某个组件(如Servlet、JSP页面或RESTful服务)关联起来的过程。当客户端发起一个请求时,Web服务器(如Tomcat、Jetty等)会根据其内部的配置来解析这个URL,并将其映射到相应的处理程序。具体到Servlet中,路径映射是在部署描......
  • 代理模式(静态代理和动态代理)
    1.静态代理    静态代理中代理类与被代理类都需要实现同一个接口,这就说明我们的一个静态代理类只能代理一个类,并且还要事先知道我们要代理哪个类才能写代理类,如果我们有其他类还想使用代理那就必须再写一个代理类。【1】测试案例:法外狂徒张三叫律师打官司packageco......
  • Mybatis的接口映射原理
    1、问题引入在使用Mybaits时,只需要写一个Mapper接口(不用写实现类),并在对应的xml文件中写好sql。然后,Mybatis就自动实现了具体的CRUD方法调用。通常我们使用Mybatis的主要步骤是:构建SqlSessionFactory(通过xml配置文件,或者直接编写Java代码)从SqlSessionFactor......
  • blog-engine-06-pelican 静态网站生成 支持 markdown 和 reST 语法
    拓展阅读blog-engine-01-常见博客引擎jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman对比blog-engine-02-通过博客引擎jekyll构建githubpages博客实战笔记blog-engine-02-博客引擎jekyll-jekyll博客引擎介绍blog-engine-02-博客引擎jekyll-jekyll如何......
  • 静态数据成员的应用
    classStudent{//1.数据成员privateStringname;privateStringsex;publicstaticStringschool="岳麓书院";//公布静态数据成员//2.省略构造方法;//3.省略setter和getter方法;//4.功能方法publicvoiddisplay(){......
  • Django框架静态文件
    【一】静态文件配置说明【1】模板文件通常html文件都会放在templates文件夹下【2】资源文件资源文件也就是jQuery,bootstrap这些前端框架这些都统称为静态文件,通常默认是放在static文件夹里面的static内部又通常分为以下三部分cssjssimgplugins【二】静态文件配......
  • drf : 自动生成路由,视图层自定义方法,路由映射方法,action参数。
    扩展一个知识点:在Django中,代码只要顶格编写,程序一运行,代码将直接执行。drf路由Routers自动生成路由需要继承ViewSetMixin子类,重写了as_view()方法。导入模块:fromrest_frameworkimportrouters创建router对象,并注册视图集合,例如:router=SimpleRouter()router.registe......
  • 从静态到动态化,Python数据可视化中的Matplotlib和Seaborn
    本文分享自华为云社区《Python数据可视化大揭秘:Matplotlib和Seaborn高效应用指南》,作者:柠檬味拥抱。安装Matplotlib和Seaborn首先,确保你已经安装了Matplotlib和Seaborn库。如果没有安装,可以使用以下命令进行安装:pipinstallmatplotlibseabornMatplotlib基础Matplotlib是......