nginx reescreve url de inserção na solicitação: escapando

1

Estou tentando reescrever um URL usando a reescrita. Eu quero inserir um URL no uri pedido, mas: que faz parte do http: está ficando escapou e meu aplicativo nunca recebe o URL correto. Como evito o escape de: enquanto reescrevo?

rewrite /(.*)url(.*) /$1http://example.com$2 break;

está resultando em;

/abc/http%3A//example.com/myfile.html

enquanto deveria ser;

/abc/http://example.com/myfile.html
    
por Troy SK 17.03.2017 / 15:15

1 resposta

1

O componente do caminho do URL não pode conter dois pontos na forma sem escape, é por isso que o nginx o escapa. O único local válido para dois pontos é separar o protocolo e o domínio ou parte do usuário / domínio da URL.

Você precisa deixar o componente http:// fora do caminho, removê-lo do aplicativo ou apenas http / https como um componente no caminho e alterar seu aplicativo para adicionar os dois pontos. / p>     

por 18.03.2017 / 07:18