微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于重定向无效路由的正确状态代码

如何解决用于重定向无效路由的正确状态代码

我设置了以下路线:

/business //look for a business
/business/biz/:id //look at a specific business

我所做的是,如果有人去/business/biz,它将重定向/business。 我的问题是我应该使用什么状态代码? 我不认为这是301302,因为它不是永久性的举动,也不是暂时的,它只是一个页面,不存在一致重定向到特定页面的情况。>

//get /business/biz page
router.get("/biz",(req,res) => {
  res.redirect("/business");
});

我在Stack Overflow上查看了不同的问题,但没有找到与我的情况相符的情况。

解决方法

要在/business/biz上重定向/business,您应该返回一个308 Permanent Redirect
这是维基百科关于状态308的引用:

该请求和所有以后的请求应使用另一个URI重复。 307和308的行为与302和301的行为相似,但但不允许更改HTTP方法。因此,例如,向永久重定向的资源提交表单可能会继续顺利

您还应该检查this answer来说明301308302307之间的区别,并且写得很好。

,

建议仅将301代码用作GETHEAD方法的响应,并将308永久重定向用于POST方法代替。

查看完整的文章here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。