ReactJS - 多页面应用程序在为生产构建后无法工作

Chr*_*ood 1 hosting reactjs react-router

我有一个多页面应用程序,正在尝试在 GoDaddy 上托管。运行后npm build,我按照 GoDaddy 的说明将文件上传到他们,我可以毫无问题地查看我的主页。当我尝试导航到另一个页面(例如“关于”页面)时,收到 404 错误。

我一直在寻找,但我尝试的解决方案不起作用。我尝试添加"homepage": "http://www.kashy.com.au/",到我的package.json. 我也尝试过玩路线。(在路径中添加站点的 URL)。

我是 React 新手,所以我不太明白路由是如何工作的。有人能指出我解决这个问题的正确方向吗?

var*_*ons 5

您需要将所有网址重定向到 Godaddy 上的网站,以指向主页/索引,因为路由由您的客户端/react 应用程序处理。

创建 .htaccess 文件以将所有请求重定向到 index.html。

样本

RewriteBase /
RewriteRule ^index\.html$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
Run Code Online (Sandbox Code Playgroud)

脚步

  • 从 cpanel 文件管理器中,转到网站的根文件夹(即 public_html)。
  • 单击左上角菜单创建 (dot)htaccess 文件
  • 右键单击该文件并编辑然后粘贴上面的内容
  • 节省