заставляем nginx перенаправлять на корень сервера

заставляем nginx перенаправлять на корень сервера

У меня в nginx есть следующая строка:

try_files $uri $uri/ /index.html;

Насколько я понимаю, он переписывает все запросы к файлам, которые не найдены, в index.html. То есть, это index.html?foo=barи idontexist.html?foo=barоставляет тот же результат, что портит сканирование Google.

Как мне не перезаписывать, а перенаправить на URL по умолчанию?

Идеальное решение было бы вообще без index.html. Поэтому http://domain.com/idontexist.html?foo=barперенаправьте с помощью 301 наhttp://domain.com/?foo=bar

решение1

location / {
    try_files $uri $uri/ @to_home;
    ...
}

location @to_home {
    return 301 /$is_args$args;
}

решение2

Я сократил фрагмент кода VBart выше. Он работает так, как и должен:

try_files $uri $uri/ / =301;

Связанный контент