url重写然后重定向

时间:2013-01-31 12:41:51

标签: url redirect nginx rewrite

我有一个文件链接,我想在最后添加一些内容(& download),然后重定向到新修改的链接

原始链接 https://file.example.com/public.php?service=files&t=c2a4f63a15bac9c26815af3c4cd29a59

修改了重定向链接 https://file.example.com/public.php?service=files&t=c2a4f63a15bac9c26815af3c4cd29a59&download

网络服务器是nginx这怎么可能?谢谢

1 个答案:

答案 0 :(得分:0)

当您管理此链接(第一个)时,在location块内,您可以使用带有变量set的指令$args,如下所示:

set $args $args&download;

变量$args表示当前执行的查询字符串。更长一点的例子:

location /public.php {
   set $args $args&download;

   # rest of your code here
}

其他方法是:

location ~ ^/public.php?service=([^&]+)&t=([^&]+)$ {
   set $args "";   # it's needed for nginx to it doesn't append two times query string
   rewrite .* $uri?$query_string&download;
}

location ~ ^/public.php?(.*)&download$ {
    # do your job here
}

回写是否适合您的问题。

相关问题