You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更换域名后如何通过Nginx配置保留旧域名XML站点地图

解决Nginx中保留旧域名特定静态文件的301重定向例外

当然可以实现!你只需要在现有的server块里,在全局301重定向规则之前添加一条精确匹配sitemap.xml的location指令即可——Nginx的规则匹配是有优先级的,精确匹配的location会优先于全局的return规则执行,这样就能单独保留旧域名下的站点地图访问,其他请求依然正常301重定向到新域名。

调整后的完整Nginx配置

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

    # 优先处理sitemap.xml的请求,直接返回静态文件
    location = /sitemap.xml {
        alias /your/actual/file/path/sitemap.xml; # 替换为你服务器上sitemap.xml的真实路径
        # 可选:添加Content-Type头,确保浏览器正确识别XML文件
        add_header Content-Type application/xml;
    }

    # 其余所有请求统一301重定向到新域名
    return 301 https://www.example.com$request_uri;
}

关键细节说明

  • 精确匹配语法:location = /sitemap.xml是精确匹配模式,只会匹配路径完全等于sitemap.xml的请求,不会影响其他路径的重定向逻辑。
  • alias的使用:alias用来指定静态文件在服务器上的实际存储路径,要确保Nginx运行用户(通常是www-data)拥有该文件的读取权限。
  • 可选的Content-Type头:添加add_header Content-Type application/xml可以让浏览器正确识别这是XML文件,避免以纯文本形式展示。

后续操作

配置修改完成后,记得重载Nginx使配置生效:

sudo nginx -s reload

你可以测试一下效果:访问http://example.xyz:8080/sitemap.xml应该能正常加载站点地图,而访问旧域名下的其他页面(比如http://example.xyz/about)会自动301跳转到新域名对应的路径。

内容的提问来源于stack exchange,提问作者user1803975

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:37:28