我有一个glype代理,我想重写url。页面上的所有url都会自动转换为:http://proxy.com/browse.php?U=[此处为URL]。示例:如果我在代理服务器上转到/浏览海盗湾,我希望从以下位置转换URL:

proxy.com/tpb/browse.php?u=http%3A%2F%2Fthepiratebay.se%2Fbrowse&b=0

对此:
proxy.com/tpb/browse

如你所见,整个部分:
browse.php?u=http%3A%2F%2Fthepiratebay.se%2F

已经不见了(url后面的&b=0也不见了)。它的域名结构和海盗湾一样。
我试过这样的方法:
        location /tpb/ {
        rewrite ^/browse.php?u=(.*)$ /$1? last;
        break;
            }

但它不起作用。有人有答案吗?另一个功能也是受欢迎的。(例如fastcgi_split_path_info或与nginx兼容的其他内容)
(如果您想看一个示例,请转到tpb.piratenpartij.nl,但我不确定他们是否使用glype)

最佳答案

我认为proxy.com/tpb/browse.php?u=http%3A%2F%2Fthepiratebay.se%2Fbrowse&b=0location /tpb/browse.php匹配,因此您可以编写

location /tpb/browse.php {
    rewrite ^/tpb/browse\.php.* $host/tpb/browse redirect;
}

希望它做你想要的,它不在乎吗?你真的需要吗?
如果成功的话告诉我,我现在没有地方可以试试。

10-05 20:28