当页面刷新“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 - 找不到文件或目录”时。的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC:404 - 找不到文件或目录。您正在寻找的资源