【发布时间】:2021-09-03 16:50:01
【问题描述】:
我们有一个处理所有未指定路线的处理程序:
<ReactRouter.Route path="*" component={Handle404} />
但这会返回 200。我们如何返回 404 状态码?
【问题讨论】:
-
你在使用服务器端渲染吗??如果是,那么this 可能会有所帮助。
标签: javascript reactjs react-router
我们有一个处理所有未指定路线的处理程序:
<ReactRouter.Route path="*" component={Handle404} />
但这会返回 200。我们如何返回 404 状态码?
【问题讨论】:
标签: javascript reactjs react-router
我们无法从客户端发送状态代码。对于 SPA,当浏览器请求页面时,它只是下载 javascript 文件,页面在浏览器端呈现。路由纯粹在客户端处理。即使我们向服务器请求 404 页面,下载页面内容的请求也是成功的,所以它只会是状态 200。尽管实际页面内容是“找不到页面”。
如果您需要发送特定案例,您可能希望在服务器端处理它。 但是,您始终可以创建自定义 pageNotFound 页面。
【讨论】:
要向客户端发送状态码 404,需要使用服务器端语言,例如 node.js 和 express
另一方面,React.js 是一个前端库,它不是一种服务器端语言,这就是为什么它不能满足您的要求。
【讨论】: