React Route:刷新部署的应用程序后未找到 404

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

我在一家公司工作,刚刚为他们部署了一个项目,但遇到了问题。因此,当您转到链接 http://domain 时,您可以转到该页面,然后从那里您可以转到任何其他页面(反应路线),但如果您直接转到 http://domain/some-终点,显示404未找到。有人知道如何解决吗?

reactjs amazon-web-services routes
4个回答
1
投票

发生这种情况是因为您的服务器端不处理重定向到index.html,您可以通过将后端配置为始终重定向到html来修复它,或者您可以使用 HashRouter 而不是从react-router修复它浏览器路由器

这里有关于服务器端与客户端路由的完整解释


0
投票

添加以下代码到公用文件夹文件名应该是 _重定向

/*    /index.html   200 

参考图片


0
投票

您可以使用根文件夹中的 .htaccess 修复此问题:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>

0
投票

createBrowserRouter
替换
createHashRouter
对我有用。

注意: 尽管如果您从路线访问值,则需要小心,但您可能需要更改一些逻辑

const router = createHashRouter([
    {
        path: "/",
        element: <Root />,
        errorElement: <>Something went wrong</>,
        children: [
            {
                index: true,
                element: <Index />,
            }
        ],
    },
]);
© www.soinside.com 2019 - 2024. All rights reserved.