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