Reactjs 加载网站的目录级页面时出现问题
我刚刚通过github页面部署了我的CreateReact应用程序。当点击到根域或在浏览器的URL地址栏中输入根域时,站点()可以正常加载。然而,如果深度链接到目录级页面(jasonclerk.com/about)或在URL地址栏中输入该目录级页面,我将遇到404错误。如果我在站点内使用导航,我可以毫无问题地转到其他页面 我确实在我的顶级组件中使用了路由(react router dom),所有这些在本地测试环境中都运行良好。此外,之前通过heroku部署了该站点,与deeplinks没有任何问题。现在部署在ghpages上,这样我就可以添加自定义域了Reactjs 加载网站的目录级页面时出现问题,reactjs,deployment,github-pages,Reactjs,Deployment,Github Pages,我刚刚通过github页面部署了我的CreateReact应用程序。当点击到根域或在浏览器的URL地址栏中输入根域时,站点()可以正常加载。然而,如果深度链接到目录级页面(jasonclerk.com/about)或在URL地址栏中输入该目录级页面,我将遇到404错误。如果我在站点内使用导航,我可以毫无问题地转到其他页面 我确实在我的顶级组件中使用了路由(react router dom),所有这些在本地测试环境中都运行良好。此外,之前通过heroku部署了该站点,与deeplinks没有任何问
有什么建议可以解决直接加载目录级页面的问题吗?react router是客户端路由的一个很好的例子。您面临这个问题是因为GitHub页面服务器不知道您正在构建客户端路由应用程序。从服务器的角度来看,它无法识别
/about
。有两种方法可以解决您的问题
HashRouter
而不是BrowserRouter
,URL最终会变得不那么漂亮,但由于它使用哈希,因此您不必在服务器端执行任何特殊操作
404.html
中添加一个脚本(即当收到404错误时,GitHub页面将显示),这将把所有请求重定向到index.html
谢谢Matthew HashRouter工作出色!