location /movies {
return 301 nice.com
}
location /foo {
rewrite /foo/(.*) /$1;
}
Я получаю доступ http: // локальный / foo / фильмы. Что происходит, URL-адрес изменяется на http: //localhost/foo/nice.com. Я хочу знать почему, потому что вот что я думаю.
при доступе http: // локальный / foo / фильмы, он переписывается как http: // localhost / фильмы внутренне. затем он начинает обработку сверху вниз и находит конечную точку / movies. когда он находит, он должен перенаправить на сайт nice.com. но меняется только последняя часть.
Ваш return
оператор, вероятно, интерпретируется как путь относительно исходного URI.
Для указания внешнего сайта необходимо использовать синтаксис URL, например:
return 301 https://example.com/;
Видеть этот документ для подробностей.