具体的nginx重定向删除获取参数并添加新的

时间:2015-01-28 18:21:16

标签: regex nginx rewrite

我遇到特定重定向问题 我的网址是 http://example.com/test/some_file.jpg?refferer=mobile 这必须重定向到 http://example.com/parser.php?q=some_file.jpg

正常重定向(没有获取参数)我已经完成了

rewrite test/(.*) /parser.php?q=$1 last;

2 个答案:

答案 0 :(得分:1)

location ~ ^/test/(.*)$ {
    if ($arg_referrer = mobile) {
        return 301 http://example.com/parser.php?q=$1;
    }
    # else ...
}

答案 1 :(得分:0)

http://nginx.org/r/rewrite

  

如果替换字符串包含新请求参数,则先前的请求参数将附加在它们之后。如果这是不希望的,在替换字符串的末尾加上一个问号可以避免附加它们。

所以回答非常简单:

rewrite test/(.*) /parser.php?q=$1? last;