Nginx rewrite 规则 与 proxy_pass 实现

https://www.cnblogs.com/jicki/p/5546916.html

Nginx rewrite 规则  与 proxy_pass 实现

 
 
------------------------------------------------------------------------------------------------------
~         大小写敏感匹配
~*        大小写不敏感匹配
!~        大小写敏感不匹配
!~*       大小写不敏感不匹配
------------------------------------------------------------------------------------------------------
 
 
------------------------------------------------------------------------------------------------------
-f        检测文件存在
-d        检测目录存在
-e        检测文件,目录或者符号链接存在
-x        检测文件可执行
------------------------------------------------------------------------------------------------------
 
 
------------------------------------------------------------------------------------------------------
break     –  停止rewrite检测,也就是说当含有break flag的rewrite语句被执行时,该语句就是rewrite的最终结果。
last      –  停止rewrite检测,但是跟break有本质的不同,last的语句不一定是最终结果。
redirect  –  返回302临时重定向,一般用于重定向到完整的URL(包含http:部分)
permanent –  返回301永久重定向,一般用于重定向到完整的URL(包含http:部分)
------------------------------------------------------------------------------------------------------
 
 
一些实际例子
 
 
 
if($http_host = www.qq.com)                  
{
 rewrite (.*) http://www.baidu.com$1 permanent;
 }
 

// 如果请求的url是 www.qq.com  则永久重定向到 www.baidu.com

 
 
 
 
 
 
rewrite ^/([0-9]+).html$ /user/id=$1 last;
 
 

// 如果 www.qq.com/user/id=123456   则显示为 www.qq.com/123456.html

 
 
 
 
 
 location ^~ /qq/
 {
    proxy_pass http://www.qq.com/;
 }
 

//如果请求目录为 /qq/  则代理到 www.qq.com     如果www.qq.com/qq/  则代理到 www.qq.com

 
 
 
 
location ~ ^/data
{
 deny all;
}
 

// 禁止 data 目录下所有文件的请求

 
 
 
 
 
 
if (!-f $request_filename)
{
 break;
 proxy_pass  http://www.qq.com;
}
 

// 如果请求的文件名不存在 则代理到 www.qq.com

 
 
 
 
 
 
if (-d $request_filename)
{
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
 

// 如果请求的目录存在  则自动增加 / 符号

禁止访问 /svn/ git  cvs 这几个目录...防止 svn 文件下载··源码泄漏

location ~ .*\.(svn|git|cvs)

{

deny all;

}

[转帖]Nginx rewrite 规则 与 proxy_pass 实现的更多相关文章

  1. Nginx rewrite 规则 与 proxy_pass 实现

    Nginx rewrite 规则  与 proxy_pass 实现     -------------------------------------------------------------- ...

  2. Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)

    一.Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好, ...

  3. [转】 nginx rewrite规则

    http://www.cnblogs.com/cgli/archive/2011/05/16/2047920.html 最近在VPS上尝试配置安装一个网站,VPS安装了LNMP(Linux+Nginx ...

  4. Nginx Rewrite规则记录

    Rewrite 是一种服务器的重写脉冲技术,它可以使得服务器可以支持 URL 重写,是一种最新流行的服务器技术.它还可以实现限制特定IP访问网站的功能.很多情况下,某个 IP 的访问很容易造成 CPU ...

  5. Nginx Rewrite规则详解

    Rewrite规则含义就是某个URL重写成特定的URL,从某种意义上说为了美观或者对搜索引擎友好,提高收录量及排名等. Rewrite规则的最后一项参数为flag标记,支持的flag标记主要有以下几种 ...

  6. Nginx Rewrite规则

    location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配 ...

  7. [转帖]Nginx rewrite模块深入浅出详解

    Nginx rewrite模块深入浅出详解 https://www.cnblogs.com/beyang/p/7832460.html rewrite模块(ngx_http_rewrite_modul ...

  8. nginx rewrite规则实例讲解

    一.正则表达式匹配,其中: * ~ 为区分大小写匹配* ~* 为不区分大小写匹配* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 二.文件及目录匹配,其中:* -f和!-f用来判断是否存在文 ...

  9. codeigniter nginx rewrite规则配置【转】

    转自:http://www.nginx.cn/1134.html nginx如何配置才能支持codeigniter ? 1. codeigniter的url美化去掉index.php   1 2 3 ...

随机推荐

  1. 线程池(3)-参数-实现ThreadFactory

    1.介绍 ThreadFactory用来创建线程,需要实现newThread方法. 2.常用场景 线程重命名 设置守护进程 设置优先级 3.示例(线程重命名) public class ThreadF ...

  2. Java ArrayList几种遍历方法

    import java.util.ArrayList; import java.util.Iterator; public class StringSampleDemo { public static ...

  3. Django连接MySQL(二)

    1.首先我们需要创建好项目 2.安装MySQL数据库 3.setting中修改database设置 DATABASES = { 'default': { 'ENGINE': 'django.db.ba ...

  4. python 椭球面

    作者:chaowei wu链接:https://www.zhihu.com/question/266366089/answer/307037017来源:知乎著作权归作者所有.商业转载请联系作者获得授权 ...

  5. GB28181技术基础之3 - RTP

    一. RTP协议 实时传输协议 RTP(Real-time Transport Protocol)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的,后在RFC ...

  6. python中的raise用法

    date ; 2019-08-22 15:10:56 try: s = None if s is None: print("s shi kong de ") raise NameE ...

  7. leetcode 611. Valid Triangle Number 、259. 3Sum Smaller(lintcode 918. 3Sum Smaller)

    这两个题几乎一样,只是说611. Valid Triangle Number满足大于条件,259. 3Sum Smaller满足小于条件,两者都是先排序,然后用双指针的方式. 611. Valid T ...

  8. Flutter AspectRatio、Card 卡片组件

    Flutter AspectRatio 组件 AspectRatio 的作用是根据设置调整子元素 child 的宽高比. AspectRatio 首先会在布局限制条件允许的范围内尽可能的扩展,widg ...

  9. IDEA 修改某个Module名称

    一.选择module右键——>Refactor——>Rename 二.修改该module下的pom.xml文件对应module名改掉 三.修改项目的pom文件中modules里的modul ...

  10. docker安装并运行mysql

    docker拉取mysql镜像: [mall@VM_0_7_centos ~]$ sudo docker pull mysql:5.7 5.7: Pulling from library/mysql ...