Как добавить канонический заголовок и редирект 301 в nginx - PullRequest
1 голос
/ 29 апреля 2019

Я пытаюсь добавить канонический заголовок в nginx для местоположения, которое уже возвращает 301. Я добавляю канонический к целевому URL, так как каноническая ссылка важнее для пользователей, чем фактический URL, отображаемый в Google. , Я не вижу заголовок канонического ответа при проверке инструментов разработчика?

Текущая маршрутизация nginx установлена ​​как

location ~* '^/folder/another-folder/important-document.pdf' {
  return 301 $scheme://$host/docs/destination-url;
}

и я попытался добавить канонический URL следующим образом:

location ~* '^/folder/another-folder/important-document.pdf' {
  return 301 $scheme://$host/docs/destination-url;
  add_header Link "<$scheme://$http_host/folder/another-folder/url>; rel=\"canonical\"";
}

Второй пример был в работе около 2 недель, и я все еще вижу, как .PDF показывает в Google обычные результаты, а в инструментах разработчика нет заголовков ответов.

1 Ответ

0 голосов
/ 29 апреля 2019

Первое местоположение регулярного выражения, соответствующее URI, обработает запрос, поэтому, если у вас есть неоднозначный блок местоположения выше этого, это предотвратит принятие вашего правила.Подробнее см. в этом документе .

Либо переместите блок location вверх в блоке server, чтобы он встретился первым.

Если выпытаясь сопоставить один URI, используйте местоположение точного совпадения, которое всегда имеет наивысший приоритет независимо от его положения в блоке server.Например:

location = /folder/another-folder/important-document.pdf { ... }
...