2012-03-25 6 views
3

У меня есть прокси Glype, и я хочу переписать URL-адрес. Все URL-адреса на странице автоматически преобразуются в: http://proxy.com/browse.php?u=[URL ЗДЕСЬ]. Пример: Если я иду/просмотреть на The Pirate Bay на мой прокси я хочу, чтобы преобразовать URL из этого:Переписать 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, что находится позади URL). И он имеет ту же структуру домена, что и The Pirate Bay.

Я пытался что-то вроде этого:

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

Но это не работает. У кого-то есть ответ? Также приветствуется другая функция. (Такие, как fastcgi_split_path_info или что-то еще, что совместима с Nginx)

(Если вы хотите увидеть пример пойти tpb.piratenpartij.nl, но я не уверен, если они используют Glype)

+0

Я не знаю, почему вы этого хотите, но если это так, потому что вы хотите скрыть URL-адрес сайта (так что пользователи их истории (вроде) анонимны), Glype предлагает функциональность для этого, он называется URL-адресом -encoding. –

ответ

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

Надеется, что это делает то, что вы хотите, это не волнует? и =, вы действительно нуждаетесь в этом?

Дайте мне знать, если это будет работать, я не могу попробовать это прямо сейчас.

+0

К сожалению, это не работает. Я пытался с 'if (! -e $ request_filename)' и закрылся с 'break;', но также и не работает. Если у вас есть другое решение, дайте мне знать. Заранее спасибо. –

+0

@ Тон вы нашли какое-то решение? Если это так, пожалуйста, дайте мне знать. –

Смежные вопросы