2012-03-25 186 views
3

我有一個Glype代理,我想重寫這個URL。網頁上的所有網址都會自動轉換爲:http://proxy.com/browse.php?u = [網址HERE]。例如:如果我去/對海盜灣瀏覽我的代理我想要的網址從這個轉換:重寫URL的Glype(nginx)

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網址是什麼後面)。它具有與海盜灣相同的域結構。

我已經試過這樣的事情:

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

但它無法正常工作。有人有答案嗎?另一個功能也是受歡迎的。 (如fastcgi_split_path_info或別的東西是什麼nginx的兼容)

(如果你想看到一個例子去tpb.piratenpartij.nl,但我不知道,如果他們使用Glype)

+0

我不知道你爲什麼要這樣做,但如果是因爲你想隱藏網站的網址(這樣用戶的歷史記錄是匿名的),Glype提供了這個功能,它被稱爲url -encoding。 – 2014-06-04 17:45:18

回答

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; 
} 

希望它做你想做的,它不關心?u =,你真的需要它嗎?

讓我知道它是否有效,我現在無處可去嘗試。

+0

不幸的是它不工作。我試着用'if(!-e $ request_filename)'並用'break;'關閉,但也不起作用。如果您有其他解決方案,請告訴我。提前致謝。 – 2012-03-26 14:59:28

+0

@噸你有沒有找到解決辦法呢?如果有,請讓我知道。 – 2013-06-13 06:50:47