Nginx CONTENT阶段 static模块
L63-65



alias指令
syntax: alias path;# 静态文件路径 alias不会将请求路径后的路径添加到 path中
context : location;
root指令
syntax : root path; #静态文件路径 root会将请求路径后添加的 path中
context : http,server,location,if in location
location /root {
root html;
}
location /alias{
alias html;
}
location ~/root/(\w+\.txt){
root html/first/$;
}
location ~/alias/(\w+\.txt){
alias html/first/$;
}
访问 http://xxxx/root 返回404 通过error日志 可以看到 会在html后加上root目录
访问 http://xxxx/alias 返回nginx主页面 返回正确
访问 http://xxxx/root/1.txt 返回404
访问 http://xxxx/alias/1.txt 则返回1.txt内容

static模块三个变量
request_filename : 访问文件的完整路径包括扩展名
document_root : 由URI和root/alias规则生成的文件夹路径
realpath_root : 将document_root软连接替换成真实路径
location /realpath{
alias html/realpath;
return '$request_filename:$document_root:$realpath_root\n';
}
访问 http://xxxx/realpath/1.txt 则返回 /usr/local/nginx/html/realpath/1.txt:/usr/local/nginx/html/realpath:/usr/local/nginx/html/realpath 输出的路径
当用户访问资源时没有在末尾加反斜杠的时候 NGINX会返回一个301的重定向
指令 absolute_redirect
syntax: on | off;
default : on;
context : http,server,location
server {
listen ;
server_name localhost;
absolute_redirect off; #关闭的时候
port_in_redirect on;
}
演示:当关闭absolute_redirect的时候 curl http://116.196.123.9/alias -i
当访问后 看到头部是不带域名的
Server: nginx/1.14.2
Date: Fri, 15 Feb 2019 08:26:21 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: /alias/ #我们看到没有完整域名
当打开的时候 就有 Location: http://192.xxx.xxx.1/alias/
指令 port_in_redirect
syntax : on | off;
defaut : on;
context : http,server,location;
指令 server_name_in_redirect 主要控制 是否返回的 host域名 还是server_name主域名
syntax : on | off;
default : off;
context : http,server,location;
Nginx CONTENT阶段 static模块的更多相关文章
- Nginx CONTENT阶段 concat模块
L67 concat_delimiter : 根据js 指定 分隔符 比如 “|” 那么每个文件分隔符为 “|” concat_types : 指定要合并文件的类型 concat_unique : s ...
- Nginx CONTENT阶段 autoindex、index模块
L 66 autoindex 指令 syntax : on | off; default : off; context : http,server,location; autoindex_exact_ ...
- Nginx执行阶段
Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮 ...
- openresty开发系列35--openresty执行流程之5内容content阶段
openresty开发系列35--openresty执行流程之5内容content阶段 content 阶段 ---init阶段---重写赋值---重写rewrite---access content ...
- Nginx的第一个模块-HelloWorld
麻雀虽小,五脏俱全,小小的Hello World盛行于程序世界,就在于其代码虽短,但要真正运行起来,需要我们略通基本语法,稍懂编译运行环境,知晓操作过程,最后,还有一颗持之以恒,不怕折腾的心.前一阵子 ...
- Nginx 高级配置-第三方模块编译
Nginx 高级配置-第三方模块编译 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 第三模块是对nginx 的功能扩展,第三方模块需要在编译安装Nginx 的时候使用参数--add ...
- Nginx一致性哈希模块的Lua实现
Nginx一致性哈希模块的Lua重新实现 技术背景: 最近在工作中使用了nginx+redis 的架构,redis在后台做分布式存储,每个redis都存放不同的数据,这些数据都是某门户网站通过Hado ...
- nginx图片过滤处理模块http_image_filter_module安装配置笔记
http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时 ...
- yum安装下的nginx,如何添加模块,和添加第三方模块
需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...
随机推荐
- Objective-C 符号化
符号化,顾名思义,就是把地址翻译成人能看懂的符号以及它们在文件中的位置,符号包括函数名和变量名等等. 1.什么地方有符号? 1)App Mach-O格式的二进制文件 2)DWARF(Debugging ...
- #ifdef __cplusplus extern "C" { #endif”的定义
平时我们在linux c平台开发的时候,引用了一些Cpp或者C的代码库,发现一些头文件有如下代码条件编译. #ifdef __cplusplus extern "C" { #e ...
- 如何迅速入门STM32
我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考虑的 ...
- java 入门常识
1.java应用程序的运行机制 Java首先利用文本编辑器编写 Java源程序,源文件的后缀名为.java:再利用编译器(javac)将源程序编译成字节码文件,字节码文件的后缀名为.class: 最后 ...
- php实现一个简单的四则运算计算器
php实现一个简单的四则运算计算器(还不支持括号的优先级).利用栈这种数据结构来计算表达式很赞. 这里可以使用栈的结构,由于php的数组“天然”就有栈的特性,这里直接就利用了数组.当然可以使用栈结构写 ...
- bitcoin 源码解析 - 交易 Transaction(三) - Script
bitcoin 源码解析 - 交易 Transaction(三) - Script 之前的章节已经比较粗略的解释了在Transaction体系当中的整体运作原理.接下来的章节会对这个体系进行分解,比较 ...
- dp方法论——由矩阵相乘问题学习dp解题思路
前篇戳:dp入门——由分杆问题认识动态规划 导语 刷过一些算法题,就会十分珍惜“方法论”这种东西.Leetcode上只有题目.讨论和答案,没有方法论.往往答案看起来十分切中要害,但是从看题目到得到思路 ...
- C# 8中的Async Streams
关键要点 异步编程技术提供了一种提高程序响应能力的方法. Async/Await模式在C# 5中首次亮相,但只能返回单个标量值. C# 8添加了异步流(Async Streams),允许异步方法返回多 ...
- C#_根据银行卡卡号判断银行名称
/// <summary> /// 银行信息 /// </summary> public class BankInfo { #region 数组形式存储银行BIN号 /// & ...
- Centos下安装破解Jira7的操作记录
Jira是一个集项目计划.任务分配.需求管理.错误跟踪于一体的工具,可以作为一个bug管理系统,可以将在测试过程中所发现的bug录入.分配给开发人员.前面介绍了Confluence在Centos下的安 ...