如何通过 nginx 配置在域交换后提供旧的 xml 站点地图

How do I serve old xml sitemap after domain swap via nginx config

我最近将一个站点的域扩展名从 .xyz 换成了 .com,并且我在我的 nginx 配置中使用了一条规则来 301 流量从旧域到新域。

server {
    listen 8080;
    server_name example.xyz www.example.xyz;
    return 301 https://www.example.com$request_uri;
  }

但是我想继续在示例中提供站点地图。xyz/sitemap。xml

有没有我可以实施的规则,仅针对单个位置优先于 301?站点地图可以是一个静态文件,所以我可以使用别名,但不确定如何阻止 301 生效 url?

return 语句移动到 location / 块中。然后你可以添加一个 location = 块来匹配单个 URI。例如:

server {
    listen 8080;
    server_name example.xyz www.example.xyz;

    location / {
        return 301 https://www.example.com$request_uri;
    }
    location = /sitemap.xml {
        root /path/to/enclosing/directory;
    }
}

详情见this document