首页 > 其他分享 >剔除任意指定参数配置

剔除任意指定参数配置

时间:2024-01-22 19:24:01浏览次数:24  
标签:abcd www text args token 参数 redirectUrl 剔除 任意

只需要修改需要剔除的参数key(如:redirectUrl)

复制代码
#剔除$args中的redirectUrl 参数
server {
    listen   80;
    server_name  www.mynginx.rewrite;

    location /search {
     #在参数前加入&,并赋值给args_tmp set $args_tmp &${args};
     #正则判断进行剔除 if ( $args_tmp ~* ^(.*)(&redirectUrl=[\w%@\.]*)(.*)$){ set $args $1$3; }
     #除去参数开头可能带有&字符的情况 if ( $args ~* ^&(.*)$){ set $args $1; }
     #最终的$args为剔除 redirectUrl参数后的$args
     rewrite ^/search http://www.text.com/text?$args? break;
 }
}
复制代码

测试项:

http://www.mynginx.rewrite/search?redirectUrl=abc.@&abcd=1234&token=xxxxx
http://www.mynginx.rewrite/search?token=xxxxx&redirectUrl=abc.@&abcd=1234
http://www.mynginx.rewrite/search?token=xxxxx&abcd=1234&redirectUrl=abc.@

测试结果分别是:

http://www.text.com/text?abcd=1234&token=xxxxx
http://www.text.com/text?token=xxxxx&abcd=1234
http://www.text.com/text?token=xxxxx&abcd=1234

某一参数转为访问路径

将$args 参数数组中的某一参数转为访问目录,并在$args 中剔除(原理如上)

复制代码
server {
    listen   80;
    server_name  www.mynginx.rewrite;

    location /search {
        set $args_tmp &${args};
        if ( $args_tmp ~* ^(.*)(&redirectUrl=\w*)(.*)$){                                                                                    
       set $arg_path $arg_redirectUrl; #获取参数变量redirectUrl的值 set $args $1$3; rewrite ^/search /text/$arg_path; } } location ~* /text { if ( $args ~* ^&(.*)$){#除去参数开头可能带有&字符的情况 set $args $1; } rewrite ^/text/(.*) http://www.text.com/text/$1?$args? break; } }
复制代码

测试项:

http://www.mynginx.rewrite/search?redirectUrl=abc&abcd=1234&token=xxxxx
http://www.mynginx.rewrite/search?token=xxxxx&redirectUrl=abc&abcd=1234
http://www.mynginx.rewrite/search?token=xxxxx&abcd=1234&redirectUrl=abc

测试结果分别是:

http://www.text.com/text/abc?abcd=1234&token=xxxxx
http://www.text.com/text/abc?token=xxxxx&abcd=1234
http://www.text.com/text/abc?token=xxxxx&abcd=1234

注:测试前请在C:\Windows\System32\drivers\etc\hosts中配置DNS,有疑问请在评论区留言。

 

知识虽不属于个人,但请尊重每位笔者。

转载请指明出处:https://www.cnblogs.com/dennyLee2025/p/13742497.html

标签:abcd,www,text,args,token,参数,redirectUrl,剔除,任意
From: https://www.cnblogs.com/exmyth/p/17980792

相关文章

  • 在命令提示符下输入"certutil /?"来查看完整的命令参数列表和使用说明。
    在命令提示符下输入"certutil/?"来查看完整的命令参数列表和使用说明。-dump:转储配置信息或文件-dumpPFX:转储PFX结构-asn:解析ASN.1文件-decodehex:解码十六进制编码的文件-decode:解码Base64编码的文件-encode:将文件编码为Base64-deny:拒绝挂起的请求-resub......
  • 【C++进阶】function和bind及可变模板参数
     文章目录1.function和bind1.1function使用方法1.2bind2.可变模板参数2.1可变模板参数函数2.2可变模板参数的展开 1.function和bindC++中的function和bind是为了更方便地进行函数对象的封装和调用而设计的。function是一个通用的函数对象容器......
  • Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
    Restful风格的api虽然规范了四个方法(Get、Post、Put、Delete)用于数据的查询、增加、修改和删除,但在实际应用中,还是会有很多公司只使用了Get和Post两个方法,查询数据使用Get方法,其它业务操作使用Post方法(为什么会有情况,以后可以写一篇文章讨论一下_),但是Post方法一般......
  • Linux基础45 firewalld防火墙, 参数, 区域配置, 放行策略, 端口转发, 富规则, 防火墙
    firewalld防火墙一、防火墙安全概述在Centos7系统中继承了多款防火墙管理工具,默认启动的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及(图形)的两种管理方式。对于接触Linux较早的人员对Iptables比较熟悉,但由于Iptables的规则比较的麻烦,并且对网络有......
  • .net8 传参数遇见个很郁闷的问题
    将老项目迁移至.net8遇见个奇葩问题记录下,顺便看有人遇见过么新建.net8 mvc项目控制器publicclassHomeController:Controller{privatereadonlyILogger<HomeController>_logger;publicHomeController(ILogger<HomeController>logger)......
  • lightdb datetime 函数参数名支持
    背景在Oracle和PostgreSQL中datetime标识符并没有作为关键字,也不是数据类型。在Mysql中,datetime是数据类型名,但并不是保留关键字。在LightDB23.4及以前版本中,datetime被误当成可以作为列名的关键字,导致Oracle用户使用datetime作为函数参数名,函数名等情况都会报......
  • FastAPI学习-29 uvicorn 使用 log_config 参数设置 logger 日志格式
    前言FastAPI服务是通过uvicorn来提供的,日志都是uvicorn里配置的。官方文档地址:https://www.uvicorn.org/settings/#logginguvicorn的logging日志我们可以通过uvicorn.run()方式启动服务uvicorn.run("example:app",port=5000,reload=True,access_log=False)于是可以加......
  • 一文搞清楚Java中的方法、常量、变量、参数
    写在开头在上一篇文章:一文搞清楚Java中的包、类、接口中我们讲了Java中的包、类和接口,今天继续将剩下的方法、常量、变量以及参数梳理完。Java中的变量与常量在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:常量与变量,我们在数学和物理学中已经接触过变量的概......
  • Linux 中 使用set 给shell脚本设置参数
     001、[root@PC1test1]#ls##准备两个测试文件a.shb.sh[root@PC1test1]#cata.sh##a文件#!/bin/bashecho$*[root@PC1test1]#catb.sh##b文件#!/bin/bashsetonetwothreeecho$*[root@P......
  • python 异步回调传递参数 warning cell-var-from-loop
    warning:cell-var-from-loopbing解释foriinrange(10):f=lambdai:iprint(f())Thewarningmessagecell-var-from-loopisemittedbyPylint,aPythoncodeanalysistool.Thiswarningisraisedwhenavariableisdefinedinsidealoopandused......