【问题标题】:how to fix 404 not found in create-react-app如何修复 create-react-app 中未找到的 404
【发布时间】:2019-02-10 06:11:50
【问题描述】:

当我直接访问'https://xyz/login'时,它显示错误'404 not found',但在从主页注销后将我重定向到'https://xyz/login'('https://xyz/')。
这个问题在我的 create-react-app 部署后开始。我们使用 nginx 服务器进行部署。

【问题讨论】:

标签: reactjs create-react-app


【解决方案1】:

在您的服务器计算机上编辑 VIMnano 中的 nginx/sites-available/default,无论您喜欢哪个。

vi /etc/nginx/sites-available/default
nano /etc/nginx/sites-available/default

下面改变

location / {
    try_files $uri $uri/ =404;
}

location / {
    try_files $uri $uri/ /index.html;
}

但在从主页(“https://xyz/”)注销后,它会将我重定向到“https://xyz/login”。

您可以从注销按钮访问登录,因为“create-react-app”和 BrowserRouter 仅处于活动状态并且能够从 / 即主页进行路由。如果您转到 /someLink 您的服务器不知道如何处理它,那么它会读取一条规则以转到 404 错误。以上将所有请求更改为始终访问您的主页,这样 BrowserRouter 可以从那里获取。

如果您想了解有关此问题的更多信息,请查看以下问题: Discussion

旁注:在 SEO 方面,Google 仍会抓取 SPA,但请查看 https://www.npmjs.com/package/react-snapshot 以进行 SPA 优化。

【讨论】:

    【解决方案2】:

    在 BrowserRouter 中设置 basename。

    <BrowserRouter basename='/xyz'>
      <Route exact path='/' /> 
    </BrowserRouter>
    

    【讨论】:

    • 你能详细说明吗@anil
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    • 2017-06-02
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    相关资源
    最近更新 更多