在我的网站上,我有几条使用react 路由制作的路由,这些路由指向网站本身的几个不同页面.它在开发模式下工作得很好,但构建版本才是问题所在.当我将我的网站管理员上传到Netlify进行测试时,索引页面(path="/")工作正常,但其他页面(例如关于页面(path="/about"))在我刷新它们时会抛出404错误.我也try 过使用不同的主机Provider ,但在某些情况下,它甚至没有加载索引页,或者它加载了,但没有加载其他页面.

在进一步研究和阅读VITE文档后,我发现问题可能是我没有配置VTE来判断路由,但我不知道如何做到这一点(或者至少是正确的).

我还应该提到,我是一个新的react ,所以我很抱歉,如果问题没有被很好地提出.

以下是app.js文件中路由的代码:

function App() {
  return (
    <>
      <Suspense fallback={<RhombLoad />}>
        <Router>
          <Header />
          <Routes>
            <Route path="/" element={<Home />} />
            <Route path="/storitve" element={<Storitve />} />
            <Route path="/onas" element={<Onas />} />
            <Route path="/reference" element={<Reference />} />
            <Route path="/zaposlovanje" element={<Zaposlovanje />} />
            <Route path="/kontakt" element={<Kontakt />} />
            <Route path="*" element={<ErrorPage />} />
          </Routes>
          <Footer />
        </Router>
      </Suspense>
    </>
  )
}

我试着重新订购路由,但似乎没有改变任何事情……

推荐答案

我也有同样的问题,我甚至在这里问了Netlify and React Vite: Netlify says "Page not found" upon reloading in Vite and React site,go 看看这个链接第一个答案帮助了我.

以下是需要做的事情.

1-在项目根目录(而不是dist目录)的公用文件夹中创建_redirects文件.

2-在_redirects文件中保留完全相同的以下内容:/* /index.html 200.

3-现在运行构建命令并将其部署在netlify上.

这对我很管用.

Reactjs相关问答推荐

使用useEffect挂钩获取数据

删除表2的收件箱未按预期工作

在一个地方调用函数会影响其他地方调用该函数

替换谷歌 map api默认信息窗口与自定义

使用REACT-RUTER-V6和ZUSTANDreact 中的身份验证

更改滑块标记的文本 colored颜色 ./Reaction/MUI 5

Reaction Google Maps API无法获取标题

React useEffect 问题...异步函数内的变量正在获取延迟的更新值

React redux 工具包 useGetFilterProductsQuery 和 useGetFilterProductsByCategoriesQuery 未定义为函数

如何在 TimePicker 中更改时钟 colored颜色 和确定按钮字体 colored颜色 - MUI React

在 golang 服务器中刷新或直接 url 路径时响应 404

将 useRef 与 useImperativeHandle 一起使用时,React 不会重新渲染

为 Next.js 应用程序目录中的所有页面添加逻辑的全局文件是什么?

React useEffect 依赖项

如何到达类组件中的状态?

React + Redux:数据未正确传递给具有动态路由的组件

Suspense/Await - 解析数据加载/保存到状态后无限循环

@react-three/postprocessing 没有匹配的从 three.module.js 导出以导入WebGLMultisampleRenderTarget

React CSSTransition 两次创建新页面并在这两个相同的页面上运行转换

我在使用 Elements of stripe 时使用 React router v6