Nginx学习——location和rewrite

location语法:

location [=|~|~*|^~] /uri/ { … }

记住以下即可:

  • 完全匹配(=)
  • 无正则普通匹配(^~)(^ 表示“非”,~ 表示“正则”,字符意思是:不要继续匹配正则)
  • 正则表达式匹配(~或者~*)
  • 普通匹配

rewrite语法:

rewrite regex replacement [flag];

flag:last,break,redirect,permanent

常用正则:

原文地址:https://www.cnblogs.com/yb38156/p/12024119.html

时间: 2024-08-30 17:43:19

Nginx学习——location和rewrite的相关文章

nginx配置location及rewrite规则重写

一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条 [ c

Nginx之location和rewrite

一. location正则写法 参考: https://segmentfault.com/a/1190000002797606 location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /document

Nginx配置location与rewrite规则教程

location教程 示例: location = / { # 精确匹配 /,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以/开头,所有这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以/documents/开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用 [

nginx中location中关于proxy_pass和rewrite的应用

1,问题描述 upstream datacollectbackend{ #ip_hash; server 10.234.1.211:6100 max_fails=5 fail_timeout=30s; server 10.234.1.26:7100 max_fails=5 fail_timeout=30s; } location ~* ^/OCC_DATACO_WEB/.*$ { include deny.conf; proxy_pass http://datacollectbackend; i

Nginx Location和Rewrite深入剖析

Nginx Location和Rewrite深入剖析 Nginx Location Nginx由内核和模块组成,其中内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端的请求映射到一个location block,而location是Nginx配置中的一个指令,用于访问的URL匹配,而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作. location功能是由ngx_http_index_module模块提供的. location常放在serve

Nginx详解十八:Nginx深度学习篇之Rewrite规则

Rewrite规则可以实现对url的重写,以及重定向 作用场景: 1.URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 2.SEO优化 3.维护:后台维护.流量转发等 4.安全 配置语法 配置语法:rewrite regex replacement [flag];默认状态:-配置方法:server.location.if如:rewrite ^(.*)$ /pages/maintain.html break; 常用的正则表达式 在linux下,可以用pcretest来测试 flag

Nginx学习笔记15rewrite之(二)redirect临时重定向

redirect标志跟permanent标志的区别是:redirect使用HTTP 302临时重定向,permanent使用HTTP 301永久重定向.本文介绍redirect标志的临时重定向动作. Nginx配置: location ~ ^/app2/ { rewrite ^/app2/(.*)$  /app/$1  redirect; } 运行结果: curl -v   http://ng.coe2coe.me:8000/app2/ * Hostname was NOT found in D

nginx的location配置详解

语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格). ~ 开头表示区分大小写的正则匹配 ~*  开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何请求都会匹配到. 多个location配置

Nginx学习笔记16rewrite之(三)break

break标志,对目标地址进行请求.break存在时,rewrite的情况比较复杂. Nginx匹配成功某个location中的这种类型的rewrite之后,将不再进行其它location的处理,即其它location即使可以匹配rewrite后的目录地址,也不会执行其中的proxy_pass等指令,而是把rewrite后的目标地址作为Nginx本地页面地址直接访问.当rewrite后产生的本地页面地址对应的物理页面存在时,将可以正常访问该页面,否则产生404错误. Nginx配置: locat