所以我知道如何使用 React Router 处理不匹配的路由:
<Routes>
{/* Public routes */}
<Route exact path="/" element={<Home />} />
// Rest of my routes...
{/* Error routes */}
<Route path="*" element={<PageNotFound />} />
</Routes>
但是我将如何处理标头状态代码响应?因为这样每个回复都是
200
,这当然是有道理的。我知道这是服务器响应,但是我该如何要求我的后端开发人员处理这些路由,以便响应状态代码为404
?有什么办法可以从我这边使用 React Router 来做到这一点吗?比如拦截响应并更改状态或类似的东西?
是通过服务器端实现此目的的唯一方法吗?如果是的话,我需要做什么?粗略地说,我只是想知道向后端人员询问什么。
所有这一切都是因为 SEO,谷歌表示显示“未找到”页面并用
200
进行响应是一种不好的做法。
http 状态代码只能从服务器设置,以响应浏览器的请求。这是只能从后端完成的事情。以 Nodejs 服务器为例 (https://expressjs.com/en/starter/faq.html)
app.use((request, response) => {
response.status(404).send("Page not found");
})