`
ol_beta
  • 浏览: 288690 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

nginx query string rewrite

阅读更多

 

 

有url

http://192.168.0.1:9988/app/file_view?id=df0de9d8-8a0b-11e1-9ddb-0026b93f2307
&token=TASIpYr6mj2-h78JEQ5ymg&expire=1334834398

想rewrite成

http://192.168.0.1:8899/app/file_view?id=df0de9d8-8a0b-11e1-9ddb-0026b93f2307

也就是去掉token和expire参数
方法:
rewrite不涉及query string,只是uri,所以:

proxy_pass http://192.168.0.1:8899;
rewrite ^(.+)&token=.* $1 break; 

结果还是有token和expire参数。
采用if,改变$args变量,重新拼接url

set $varnish_host http://192.168.0.1:8899;
if ( $args ~ ^(.+)(&token=.+)$ ) {
    set $args $1;
    rewrite ^ $varnish_host$uri break; 
}	

参考:http://wiki.nginx.org/HttpCoreModule#.24args

 

 

分享到:
评论

相关推荐

    Nginx中rewrite实现二级域名、三级域名、泛域名、路径的重写[文].pdf

    * `$query_string`:查询字符串。 * `$scheme`:请求协议。 * `$server_protocol`:服务器协议。 Nginx 中的 rewrite 模块可以实现二级域名、三级域名、泛域名、路径的重写,并且可以使用 rewrite flags、正则...

    nginx中带问号(?) 带参数的rewrite规则

    在Nginx服务器配置中,`rewrite`指令用于URL重写,这在创建动态到静态页面的重定向、实现URL路由、或者根据特定条件改变URL结构时非常有用。当URL中包含问号(`?`)以及参数时,处理起来可能会有些复杂,因为问号及其...

    nginx之rewrite

    Nginx中的rewrite模块是一个非常实用的功能,它允许用户在服务器中动态地重写URL,实现URL的灵活处理,包括URL重定向和内部跳转等操作。rewrite规则在nginx的配置文件中定义,通常在server、location和if指令块中...

    nginx配置

    try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include ...

    nginx rewrite 伪静态配置参数详细说明

    port`、`$remote_user`、`$request_filename`、`$request_uri`、`$query_string`、`$scheme`、`$server_protocol`、`$server_addr`、`$server_name`、`$server_port`、`$uri`。 Nginx的伪静态配置结合正则表达式和...

    Nginx中防止SQL注入攻击的相关配置介绍

    然而,需要注意的是,`rewrite`规则通常只能匹配URL路径(即URI),而不能直接匹配URL中的请求参数(`query_string`)。因此,我们需要使用`if`语句来检查`query_string`中的内容。 以下是一个具体的配置示例: ``...

    nginx内置变量

    $args表示请求行中的参数部分,而$query_string与之相同。 2. **客户端信息变量**:$remote_addr表示客户端的IP地址,$http_user_agent揭示了客户端使用的浏览器类型和版本。 3. **服务器信息变量**:$server_name...

    高性能Web服务器Nginx的配置与部署.pdf

    if ($query_string ~ "url=(.*)") { set $img_proxy_url $1; set $suffix ""; } resolver 208.67.222.222; # DNS解析器地址 proxy_pass http://$img_proxy_url/$suffix; proxy_set_header referer "http://$...

    Nginx服务器如何设置url链接

    这里的`if`判断语句检查请求的文件是否真实存在,如果不存在,Nginx就会执行`rewrite`指令,将请求重定向到`/index.php`,并将捕获的路径部分(`$1`)作为参数`s`传递。这种方法虽然也能达到目的,但通常不推荐,...

    如何利用nginx通过正则拦截指定url请求详解

    例如,`$request_uri`存储了原始请求的URI,`$host`表示请求头中的主机名,`$query_string`包含了URL查询字符串,而`$cookie_`变量用于获取Cookie信息。完整的变量列表可以在Nginx的官方文档中查阅。 了解了基本的`...

    nginx location中多个if里面proxy_pass的方法

    在处理参数时,Nginx的`rewrite`指令仅能根据URL路径进行匹配,而不能处理参数。若需根据参数进行不同`proxy_pass`的判断,可以使用`$query_string`和`$arg_parameter`变量: ```nginx location / { root html; ...

    Laravel的Nginx重写规则实例代码

    如果目录也不存在,就将请求转发到`/index.php`,同时传递查询字符串($query_string)。 接下来,我们处理去掉URL末尾的斜杠,使URL更符合SEO标准: ```nginx if (!-d $request_filename) { rewrite ^/(.+)/$ /$...

    nginx中path模式配置示例

    fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param REQUEST_...

    最新快乐DNS二级域名分发开源源码

    # 安装说明 * 1、程序的框架是Laravel 5.8,因此需要环境满足以下要求: ... * 确保 Apache 启用了 mod_rewrite 模块以支持 .htaccess 解析。... try_files $uri $uri/ /index.php?$query_string; }

    Linux系统上Nginx+Python的web.py与Django框架环境

    4. **设置FastCGI参数**:确保传递必要的环境变量给Python应用,如`REQUEST_METHOD`, `QUERY_STRING`, `CONTENT_TYPE`, `CONTENT_LENGTH`等。 完成以上配置后,重启Nginx以使更改生效。 **三、Python应用设置** 1...

    2023最新飞机即时通讯系统源码 PC+Android+IOS+WEB四端

    2023最新飞机即时通讯系统源码 PC+Android+IOS+WEB四端 环境Nginx+mysql5.7+php7.3+redis+jdk1.8+etcd、kafka、minio、ssdb 数据库imweb、enterprise、...try_files $uri $uri/ /index.php$is_args$query_string; }

Global site tag (gtag.js) - Google Analytics