Nginx Proxy Manager(NPM)里设置 www → 非 www 重定向

在 Nginx Proxy Manager(NPM)里设置 www → 非 www 重定向 时,会让你选 301、302、303、307、308 这几种重定向状态码。 它们的区别主要在于“是否永久”和“是否保留请求方法(GET/POST)”。

::blue_book:: 各状态码对比

状态码 是否永久 是否改变请求方法 典型用途
301 ::white_check_mark:: 永久 可能改为 GET(浏览器会) SEO 友好,域名规范化、网站迁移
302 ::cross_mark:: 临时 会改为 GET 临时跳转、调试用
303 ::cross_mark:: 临时 强制改为 GET 用于表单提交后跳结果页
307 ::cross_mark:: 临时 ::white_check_mark:: 保留原方法(POST 等) 临时重定向但保留请求体
308 ::white_check_mark:: 永久 ::white_check_mark:: 保留原方法 永久跳转且保留方法(新标准)

::white_check_mark:: 为什么选 301

  • 这是搜索引擎认定的“永久搬家”信号,有利于 SEO。

  • 浏览器会缓存 301,后续直接访问非 www。

  • 你的重定向只是域名规范化(不会涉及 POST 请求),因此 301 完全合适。

  • 若你担心浏览器缓存太久,可以后续改成 308,但 301 是最通用兼容的。


::prohibited:: 不推荐使用的场景

  • 302 / 307 → 临时性用途,SEO 会认为两个域名同时存在,不利于权重集中。

  • 303 → 专门用于表单跳转,不适合网站域名跳转。

  • 308 → 也可以,但部分旧浏览器(尤其移动端)兼容性比 301 稍差。