
У меня в 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;