重写URL的Glype(nginx)

时间:2012-03-25 18:47:32

标签: php regex .htaccess url-rewriting nginx

我有一个Glype代理,我想重写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

消失了(以及&b=0网址背后的内容)。它与The Pirate Bay具有相同的域名结构。

我尝试过这样的事情:

        location /tpb/ {
        rewrite ^/browse.php?u=(.*)$ /$1? last;
        break;
            }

但它不起作用。有人有答案吗?另一个功能也欢迎。 (例如fastcgi_split_path_info或其他与nginx兼容的东西)

(如果你想看一个例子,请转到tpb.piratenpartij.nl,但我不确定他们是否正在使用Glype)

1 个答案:

答案 0 :(得分:0)

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

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

希望它做你想要的,它不关心?你是,你真的需要吗?

让我知道如果它有效,我现在无处可试。