Переписать URL-адрес символа (nginx) - PullRequest
3 голосов
/ 25 марта 2012

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

Я пробовал что-то вроде этого:

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

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

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

1 Ответ

0 голосов
/ 25 марта 2012

Я думаю, что 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 =, он тебе действительно нужен?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...