当前位置: 首页 > article >正文

Nginx(七) root和alias的区别及详细测试

        本篇文章只讲root和alias的区别,配置文件详解请参考 Nginx(三) 配置文件详解,下面开始进行测试。

        Nginx配置如下:

server {
    listen 8688 default_server;
    server_name www.read******.cn;
    access_log  logs/access.log  format2;
    root pages;

    set $sn 1;

    # 测试1
    location ^~ /test1/ {
        root pages/one/;
    }
    # 测试2
    location ^~ /test2/ {
        alias pages/one/;
    }
    # 测试3
    location ^~ /test3/page {
        alias pages/one/;
    }
    # 测试4
    location ^~ /test4/page/ {
        alias pages/one/;
    }

    location = /favicon.ico {
        log_not_found  off;
        access_log off;
    }
    location / {
        index  index.html index.htm;
    }
}

测试1:root pages/one/;

请求地址host:8688/test1/one.html
location uri/test1/
请求结果404

error.log

日志输出

*920 open() "/usr/local/nginx/pages/one/test1/one.html" failed (2: No such file or directory)
文件路径

host:8688/usr/local/nginx/pages/one/test1/one.html

测试2:alias pages/one/;

请求地址host:8688/test2/one.html
location uri/test2/
请求结果200

error.log

日志输出

文件路径host:8688/usr/local/nginx/pages/one/one.html

测试3:alias pages/one/;

请求地址host:8688/test3/page/two/one.html
location uri/test3/page
请求结果404

error.log

日志输出

*924 open() "/usr/local/nginx/pages/one//two/one.html" failed (2: No such file or directory)
文件路径host:8688/usr/local/nginx/pages/one//two/one.html

测试4:alias pages/one/;

请求地址host:8688/test4/page/two/one.html
location uri/test4/page/
请求结果404

error.log

日志输出

*932 open() "/usr/local/nginx/pages/one/two/one.html" failed (2: No such file or directory)
文件路径host:8688/usr/local/nginx/pages/one/two/one.html

结论

        对比测试1和测试2,可以得出的结论:

                ①使用root指令时,请求URI部分不会改变,最终文件访问路径是 root path + 完整请求URI

                ②使用alias指令时,请求URI部分内容会被alias path替换掉。

        通过测试2、3、4,可以得出的结论:

                使用alias指令时,请求URI与location uri匹配的部分会被alias path替换掉


http://www.kler.cn/a/133622.html

相关文章:

  • opencv常用api
  • JavaWeb后端开发知识储备1
  • React的基础API介绍(二)
  • 【练习案例】30个 CSS Javascript 加载器动画效果
  • docker镜像源,亲测可用,时间2024-11-14
  • Vue 3 介绍及应用
  • C# 实现腾讯云多路直播流的云端混合录制
  • Python学习笔记--Python关键字yield
  • 潇洒郎: 小白一次性成功——小米红米手机解BL锁+ ROOT-刷面具
  • CentOS挂载:解锁文件系统的力量
  • websocket学习笔记【springboot+websocket聊天室demo】
  • PostgreSQL 数据类型
  • 基于JavaWeb+SSM+社区居家养老服务平台—颐养者端微信小程序系统的设计和实现
  • 软件质量保护与测试(第2版)学习总结第十三章 集成测试
  • 切换阿里云ES方式及故障应急处理方案
  • vue之Error: Unknown option: .devServer.
  • Panda3d 动画序列
  • 七、文件包含漏洞
  • Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决?
  • 【C/PTA】数组进阶练习(三)
  • 系列七、JVM的内存结构【堆(Heap)】
  • 【Rust】6、练习:自己实现 ls
  • 【STM32】ADC(模拟/数字转换)
  • JVM:字节码文件,类的生命周期,类加载器
  • wpf devexpress 创建布局
  • 蓝桥杯第三周算法竞赛D题E题