zoukankan      html  css  js  c++  java
  • Nginx的rewrite对地址进行重写

    1.语法

    rewrite "用来匹配路径的正则" 重写后的路径 [指令];
    

    2.案例

    server {
            listen       80;
            server_name  api.shunwang.com;
    
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
        	# 上传路径的映射
    		location /api/upload {	
    			proxy_pass http://127.0.0.1:8082;
    			proxy_connect_timeout 600;
    			proxy_read_timeout 600;
    			
    			rewrite "^/api/(.*)$" /$1 break;   # /$1匹配的参数
            }
        }
    

    3.解释

    rewrite "^/api/(.*)$" /$1 break,路径重写:
    
    	"^/api/(.*)$":匹配路径的正则表达式,用了分组语法,把/api/以后的所有部分当做1组
    
    	/$1:重写的目标路径,这里用$1引用前面正则表达式匹配到的分组(组编号从1开始),即/api/后面的所有。这样新的路径就是除去/api/以外的所有,就达到了去除/api前缀的目的
    
    	break:指令,常用的有2个,分别是:last、break
    
    		last:重写路径结束后,将得到的路径重新进行一次路径匹配
    
    		break:重写路径结束后,不再重新匹配路径。
    
    nginx -s reload命令重新加载配置
    

      

  • 相关阅读:
    MySQL的备份
    Linux下MySQL安装及配置
    MySQL的优化
    MySQL的基本操作
    python文件操作练习之文件备份
    文件操作练习之统计目录大小
    SQLite
    PyMySQL模块
    python语法练习题之九九乘法表
    类装饰器
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/13278090.html
Copyright © 2011-2022 走看看