比如,以前是 http://vampire.com/elasticsearch
现在要转到http://vampire.com/search
配置如下:

upstream localhost {server 127.0.0.1:8080 max_fails=7 fail_timeout=7s;server 127.0.0.1:8081 max_fails=7 fail_timeout=7s;
}
server {listen       81;server_name  localhost;location / {root html;index index.html index.htm;proxy_pass http://localhost;rewrite /elasticsearch/(.*) /search/$1;#elasticsearch 转发到 sesarch}
}

rewrite /elasticsearch/(.*) /search/$1;可以写在location外面,即:

server {listen       80; server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / { root   html;index  index.html index.htm;proxy_pass http://localhost;}rewrite /elasticsearch/(.*) /search/$1;#elasticsearch 转发到 sesarch
}

解释:

nginx 的 rewrite 语法
语法: rewrite regex replacement flag
默认: none
作用域: server, location, if
此指令根据表达式来更改URI,或修改字符串。
指令根据配置文件中的顺序来执行。

  1. rewrite 正则表达式 替换值 标记

    • 正则表达式 ,此处用于匹配url,此url为相对路径,即:如果你的访问路径是 http://www.vampire.com/elasticsearch/getAllUser?token=xxxxxxxx,那么在此处的值就是:/elasticsearch/getAllUser?token=xxxxxxxx。正则表达式中,一个括号内是一个值,这些值在“替换值”中可以使用 1  1~99使用,稍后介绍。
    • 替换值 即用此值替换正则表达式匹配的值。此处可以使用相对路径或者绝对路径,即可以写http://www.vampire.com/search/,也可以写/search/
    • 标记 break,last,redirect,permanent 有四个值,见文:Nginx中的rewrite指令(break,last,redirect,permanent)
    • 当在正则表达式中使用/elasticsearch/(.*)后,在替换值中,使用$1可以访问到(.*)中匹配到的值
  2. 它可以在server location 和 if 语句三个位置使用,使用方法相同

  3. if 语句的使用方法,应该是nginx rewrite使用的精髓,也是最复杂的,这里没用到,就先不介绍了。

nginx url转发的一种方式相关推荐

  1. php解析url并得到url中的参数及获取url参数的四种方式

    本文给大家介绍php解析url并得到url中的参数及获取url参数的四种方式,涉及到将字符串参数变为数组,将参数变为字符串的相关知识,本文代码简单易懂,感兴趣的朋友一起看看吧 下面一段代码是php解析 ...

  2. url去重的几种方式

    一.url去重的几种方式 1.使用 Java 的 Set 集合判重 Set 集合天生具备不可重复性,使用它只能存储值不相同的元素,如果值相同添加就会失败,因此我们可以通过添加 Set 集合时的结果来判 ...

  3. nginx负载均衡的五种方式

    文章目录 前言 :负载均衡是什么 一.方式1:轮询 二.方式2:权重 方式3:iphash 方式4:最小连接 方式5:fair 总结:根据这几种方式可以猜测处nginx的底层使用了计数器,从而可以将海 ...

  4. Nginx配置虚拟主机三种方式

    Nginx 配置虚拟主机,总共有三种方式,基于多IP,基于多端口,基于多域名,其中基于多域名是企业中最常用的一种方式,基于多端口的方式,主要用于本机配置项目. nginx参数详解 基于多IP的方式 [ ...

  5. url 参数传递的两种方式_Java项目实践,支付功能实现方式,第三方支付与银行接口支付...

    1.第三方支付 B2C电商的支付,一般由于支付金额比较小,支付比较频繁,所以一般采用第三方支付,常用的第三方支付有:支付宝.微信等. 他们的原理都差不多,都是在点击支付时,直接调用第三方支付接口,传入 ...

  6. Nginx负载均衡的4种方式 :轮询-Round Robin 、Ip地址-ip_hash、最少连接-least_conn、加权-weight=n

    负载均衡的概念: Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法. 我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提供服务 ...

  7. php获取url传递的参数,php解析url并得到url中的参数及获取url参数的四种方式

    下面一段代码是php解析url并得到url中的参数,代码如下所示:<?php $url = "http://www.baidu.com/index.php?m=content& ...

  8. URL重写有几种方式

    1).通过 HttpContext 类的 RewriteUrl() 方法来执行 URL 重写; 2).通过自定义HTTP Module或 HTTP Handler来重写 URL: 3).借助正则表达式 ...

  9. yy神曲url解析php_php解析url并得到url中的参数及获取url参数的四种方式

    下面一段代码是php解析url并得到url中的参数,代码如下所示: $url = 'http://www.baidu.com/index.php?m=content&c=index&a ...

最新文章

  1. Uploadify在asp.net下使用Demo
  2. python与shell校验IP地址合法性
  3. Go 2. 两数相加
  4. P5445-[APIO2019]路灯【set,树状数组套线段树】
  5. 动手学CV-目标检测入门教程:基本概念
  6. java web怎么快速设计网页_Javaweb毕业设计快速开发指南(一)
  7. tfs sql查询_TFS安装中SQL Server课程
  8. 整理了4个B端产品调研网站,不花一分钱获得最全面的产品体验
  9. magento 物流问题
  10. php 图片底色替换,手把手教你替换相片中的颜色(给相片换底色)
  11. matlab中变量的命名规则
  12. 前端class的中括号用法
  13. 常用的Web前端开发框架有哪些呢?分享这11个
  14. 基于单片机的八层电梯设计
  15. Nginx报错 nginx: [error] invalid PID number ““ in “/usr/local/nginx/logs/nginx.pid“
  16. AutoCAD安装失败
  17. sorted函数python_sorted函数
  18. 解决问题(七)——jsf+spring+hibernate整合(一)
  19. calsite原理_Calcite 处理一条SQL - II (Rels Into Planner)
  20. 微信小程序开发实战(9):单行输入和多行输入组件

热门文章

  1. 数值分析类智力题(IT产品类笔面试题型真题分析)
  2. 一个有趣的网站,开发同事要看的577个网站,小牛导航(super-nb)一站给聚合了
  3. Jetson 系列——基于yolov5对火源或者烟雾的检测,使用tensorrt、c++和int8加速
  4. 图片处理:将JPEG格式批量修改为JPG格式
  5. 元宇宙游戏开发公司 区块链传奇游戏开发
  6. 易观千帆 | 2022年10月银行APP月活跃用户规模盘点
  7. 利用动态规划解决实际问题之多次兑换获取最大外汇收益
  8. Advanced Installer 19.3
  9. 2022安徽最新八大员之(安全员)模拟考试试题及答案
  10. 关于python中urllib.urlencode的时候出错:UnicodeEncodeError: ‘ascii’的记录