Если исходный URL равен https://url.example.com
или https://url.example.com/
, то нормализованный URI, используемый директивами rewrite
и location
, будет /
. Схема, имя хоста и строка запроса были удалены.
Чтобы выполнить постоянное перенаправление на URL с другим именем хоста:
Использование rewrite
(подробности см. в этом документе ):
rewrite ^/$ https://example.com/foo permanent;
Или с использованием location
и return
(подробности см. в этом документе ):
location = / {
return 301 https://example.com/foo;
}
Второе решение более эффективно, так как нет регулярных выражений для обработки.
Если исходный URL-адрес содержит строку запроса: rewrite
добавит его автоматически, если не добавлен конечный ?
. return
не будет, но его можно добавить, добавив $is_args$args
.
Если схема и имя хоста не изменены, то оба утверждения можно упростить:
rewrite ^/$ /foo permanent;
Или:
location = / {
return 301 /foo;
}