Http 如何在nginx中添加规范头和301重定向

Http 如何在nginx中添加规范头和301重定向,http,nginx,header,canonical-link,Http,Nginx,Header,Canonical Link,我试图在nginx中的一个位置添加一个规范头,该位置已经返回301。我在目标URL中添加了一个规范链接,因为规范链接对用户来说比Google中显示的实际URL更重要。在检查开发工具时,我看不到规范响应头 当前nginx路由设置为 location ~* '^/folder/another-folder/important-document.pdf' { return 301 $scheme://$host/docs/destination-url; } 我尝试添加规范URL,如下所示: l

我试图在nginx中的一个位置添加一个规范头,该位置已经返回301。我在目标URL中添加了一个规范链接,因为规范链接对用户来说比Google中显示的实际URL更重要。在检查开发工具时,我看不到规范响应头

当前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\"";
}
location~*'^/folder/other folder/maintal document.pdf'{
返回301$scheme://$host/docs/destination url;
添加标题链接“rel=\“canonical\”;
}

第二个示例已经在prod中运行了大约2周,我仍然看到.PDF显示在Google organic results中,而在dev tools中没有响应标题。

第一个与URI匹配的正则表达式位置将处理请求,因此如果在这个位置块上方有一个不明确的位置块,它将阻止执行规则。有关详细信息,请参阅

位置
块在
服务器
块中向上移动,以便首先遇到它

如果您试图匹配单个URI,请使用精确的匹配位置,无论其在
服务器
块中的位置如何,该位置始终具有最高优先级。例如:

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

与URI匹配的第一个正则表达式位置将处理该请求,因此,如果在此位置块上方有一个不明确的位置块,它将阻止执行规则。有关详细信息,请参阅

位置
块在
服务器
块中向上移动,以便首先遇到它

如果您试图匹配单个URI,请使用精确的匹配位置,无论其在
服务器
块中的位置如何,该位置始终具有最高优先级。例如:

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