首页 > 系统相关 >nginx 正则

nginx 正则

时间:2023-12-11 18:13:44浏览次数:30  
标签:files alias uri try nginx 正则 location

坑点

ginx location 正则 aliastry_files, 存在排斥情况,不能一起使用,要使用root。

  • 案例如下

# 老版本门户前端
location ^~ /assets {
    alias /usr/share/nginx/homepage_test/assets/; # 老版本 js、css文件
}


# nginx location 正则 alias和 try_files, 存在排斥情况,所以只能用root
# try_files 至少两个参数 file uri 或者 file =code;形如:`try_files $uri $uri/index.html $uri.html =404`;
location ~ ^/(newsEditPage|preview|documents|aboutUs|dynamics|certification|navigatorDetail|databaseNavigation|journalSearch|commonWraplink|guide)(.*)$ {
    root /usr/share/nginx/homepage_test;
    try_files $2 /$1/index.html; # vue/react发布的build包
}


# 正则代理css,jss等静态文件,$1必须加
# location ~ ^/gkxtest/(.*)$ {
#     alias /usr/share/nginx/homepage_test/$1;
# }

# 正则代理css,jss等静态文件,$1必须加
# location ~ ^/homepage_test/(.*)$ {
#     root /usr/share/nginx;
#     try_files $uri $uri/ =404;
# }

try_files 知识点

  • try_files 至少两个参数 file uri 或者 file =code;形如:try_files $uri $uri/index.html $uri.html =404;
  • try_files 和 alias 或 root的关系,按指定顺序检查文件是否存在,并使用第一个找到的文件进行请求处理。处理的基于上下文处理的。文件的路径是file 根据前面的 root 和 alias 指令作为参数构建的。可以通过在名称末尾,指定斜杠来检查目录是否存在, 例如 $uri/, 如果没有找到任何文件, URL 则进行到最后一个参数中指定的内部重定向。 最后一个参数可以是URL 也可以是一个 code.
  • 就是说,try_files前面的参数都是拼凑 root 或 alias的路径去找文件最后一个参数是重定向url:https://your_domain/xxx/index.html

location / {
    root /path/to/files;
    try_files $uri $uri/ /index.html;
}


location ~ ^/static/(.*)$ {
    alias /path/to/static/$1;
}

# 非正则的话,alias 和 try_files 可以一起使用,代理css,jss等静态文件
location /wxttest {
    alias /usr/share/nginx/homepage_test/;
    try_files $uri $uri/ /wxttest/index.html;
}

标签:files,alias,uri,try,nginx,正则,location
From: https://www.cnblogs.com/beihangxuwei/p/17895049.html

相关文章

  • linux下安装nginx
    第一步:压缩包准备压缩包,最好准备一个稳定的版本:下载地址我这边选用的是1.24.0双版本号第二步:解压在相对应的目录下,执行命令:tar-zxvfnginx-1.18.0.tar.gz第三步:配置\编译推荐使用:./configure如有额外的需求执行:./configure--prefix=/usr/local/nginx-1.20.2--with-http_ssl_mo......
  • Web服务器Apache和Nginx的区别
    Apache和Nginx是两种主要Web服务器,Apache和Nginx最核心的区别在于Apache是同步多进程模型,一个连接对应一个进程;而Nginx是异步的,多个连接(万级别)可以对应一个进程。Apache1、apache的rewrite比nginx强大,在rewrite频繁的情况下,用apache2、apache发展到现在,模块超多,基本想......
  • Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作
    本文首发于公众号:Hunter后端原文链接:Django笔记四十四之Nginx+uWSGI部署Django以及Nginx负载均衡操作这一篇笔记介绍如何使用Nginx+uWSGI来部署Django。上一篇笔记中有介绍直接使用uWSGI作为web服务器来部署Django,这一篇笔记介绍如何使用Nginx来部署。使用Ngin......
  • nginx配置php
    usernginx;worker_processes4;work_cpu_affinity0001001001001000;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;events{worker_connections65535;useepoll;......
  • Go-web应用部署的方式——(3)Nginx
    摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。参考:部署Go语言项目的N种方法|李文周的博客(liwenzhou.com) 抛开宝塔面板一键部署的方式,这里记录下手动使用Nginx部署应用的过程,以及前后端是否分离的区别1.安装Nginxsudoyuminstallepel......
  • nginx upstream配置文件
    1.upstream使用upstream指定服务器组进行负载均衡userroot;worker_processes20;error_loglogs/error;pidlogs/nginx.pid;events{worker_connections1024;}http{log_formatmain'$remote_addr-$remote_user[$time_local]"$request"......
  • 安装与使用nginx
    编译安装nginx一、从官网下载nginx软件包(https://nginx.org/en/download.html) 将从官网下载的安装包添加到opt目录下 二、安装依赖包为编译安装做准备 三、将nginx安装包解压,并移动到nginx文件夹中 四、为nginx新建一个用户,便于管理 #设置该用户不可以登录并不建立......
  • nginx代理knife4j接口文档
    nginx配置(11215是服务的端口信息)location~*^(/v2|/swagger-resources|/swagger-ui|/swagger-ui/index.html|/webjars/|/favicon.ico/|/doc.html){ proxy_redirectoff; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_fo......
  • 正则化
    我们想让我们的模型拟合训练集的数据。有时,我们用线性来模拟一些复杂的数据,就会欠拟合(underfit),具有高偏差;这时候,我们可能就会采用一些非线性的模型拟合训练集,或许达到不错的效果;但有时,我们的模型太想拟合数据了,使得模型失去了泛化能力(泛化:能够对之前从未见过的全新示例也能给出......
  • nginx启用身份安全认证
    修改Nginx配置文件 server{listen80;server_nameexample.com;#替换成自己的域名或IP地址location/{proxy_passhttp://localhost:18080;#将请求转发到SkyWalking服务器auth_basic"Restricted";#启用基本身份验证,显示提示信息auth_basic_user_file/etc......