当页面刷新“404 - 找不到文件或目录”时。

Posted

技术标签:

【中文标题】当页面刷新“404 - 找不到文件或目录”时。【英文标题】:when page refresh "404 - File or directory not found." 【发布时间】:2019-10-15 19:23:11 【问题描述】:

我的 react 应用程序在本地运行,但在部署后,当我按下任何按钮时我都遇到了问题,但如果我想刷新,我会看到问题“404 - 找不到文件或目录”。

我找到了这个解决方案: https://github.com/ReactTraining/react-router/blob/v3/docs/guides/Histories.md#browserhistory

配置您的服务器

“您的服务器必须准备好处理真实的 URL。当应用程序第一次在 / 加载时,它可能会工作,但是当用户四处导航然后点击 /accounts/23 的刷新时,您的网络服务器将获得一个请求 /accounts/23。您将需要它来处理该 URL 并将您的 javascript 应用程序包含在响应中。"

但我不知道我该怎么做 我尝试了一些东西,但它不起作用

【问题讨论】:

如果您使用 nginx 服务将所有请求重定向到 index.html,这将解决问题。这样你的应用就会收到所有的请求 【参考方案1】:

由于服务器在目录中找不到静态内容(即找不到文件 /tomcat/accounts/23),除非您有额外的路由处理,否则它会给您 404。

在 React 路由中,我认为您可以尝试使用 HashRouter

在此处查看更多详细信息:

https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/api/HashRouter.md

HashRouter vs BrowserRouter

【讨论】:

【参考方案2】:

试试

    npm run build,这将在您的项目根文件夹中创建构建文件夹 如果您想部署到远程服务器,只需传输该构建 文件夹。 npx serve -s build 在 windows 上,如果您使用的是 mac,请查看它是否仍然是 npx。 然后尝试刷新它的每条路径

希望这行得通,编码愉快。

【讨论】:

以上是关于当页面刷新“404 - 找不到文件或目录”时。的主要内容,如果未能解决你的问题,请参考以下文章

Angular 7 组件。 404 - 找不到文件或目录

destoon提示“404-找不到文件或目录”是啥意思?

ASP.NET MVC:404 - 找不到文件或目录。您正在寻找的资源

Cypress.io:服务器错误 | 404 - 找不到文件或目录

服务器错误,404 - 找不到文件或目录。

错误页面提示大全