使用 React 和 React Router v6 为不匹配的路由提供状态代码 404 响应

问题描述 投票:0回答:1

所以我知道如何使用 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
进行响应是一种不好的做法。

javascript reactjs https react-router seo
1个回答
0
投票

http 状态代码只能从服务器设置,以响应浏览器的请求。这是只能从后端完成的事情。以 Nodejs 服务器为例 (https://expressjs.com/en/starter/faq.html)

app.use((request, response) => {
  response.status(404).send("Page not found");
})
© www.soinside.com 2019 - 2024. All rights reserved.