Я пытаюсь переписать URL-адрес с помощью перезаписи. Я хочу вставить URL-адрес в URI запроса, но: который является частью http:, экранируется, и мое приложение никогда не получает правильный URL-адрес. Как предотвратить экранирование: при перезаписи?
rewrite /(.*)url(.*) /$1http://example.com$2 break;
приводит к;
/abc/http%3A//example.com/myfile.html
пока должно быть;
/abc/http://example.com/myfile.html
Компонент пути в URL не может содержать двоеточия в неэкранированной форме, поэтому nginx экранирует его. Единственное допустимое место для двоеточия - разделить протокол и домен или часть пользователя / домена в URL-адресе.
Вам нужно либо оставить http://
вне компонента пути, отключите его в своем приложении или просто добавьте http
/ https
как один из компонентов пути и измените свое приложение, добавив двоеточие.