Apache服务器上的React App,设置指南?

时间:2017-09-21 16:27:05

标签: apache reactjs react-router react-router-v4

我使用Facebook create-react-app构建了一个React App,一切都在本地工作正常,我也有一个使用Apache服务器的托管计划。

尝试了解有关客户端与服务器端路由的更多信息我发现这个很棒post,这对我来说很有意义。我想使用Catch-all解决方案(虽然,我使用的是react-router v4,它的运行方式似乎与v3略有不同)......

作为一个对后端服务器完全陌生的人,并且没有任何Apache知识有关于如何在Apache服务器上设置React App的任何好的指南或建议(使用react-router v4)? (这是我第一次尝试在服务器上设置内容。)

感谢任何指导。

2 个答案:

答案 0 :(得分:0)

当我使用React托管我的第一个客户端渲染应用程序时遇到了您的问题。更糟糕的是,我使用PHP MVC框架作为应用程序使用的API的后端。我必须在同一服务器和环境中本地访问的API调用。

这就是我解决问题的方法:

  1. 将build / index.html的HTML代码放入我的MVC的索引文件中 应用
  2. 我的后端可以移动的静态内容(CSS,JSS包) 系统。那是在root / build
  3. 在索引文件中编辑资源引用(在步骤1中更改)到 指向新位置(在步骤2中更改)
  4. 它完美无缺!

    现在,在您的情况下,您可以按照相同的模式放置build / index.html文件,就像运行普通的HTML页面并将资产移动到可到达的位置一样。

答案 1 :(得分:0)

我自己想出这个,比预期更直接。我跑了npm build&将我的所有构建文件放在根目录下。然后编辑.htaccess文件说:

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]

到目前为止,一切看起来都很完美。如果对此解决方案有任何疑虑,请与我们联系。由于这是建立在create-react-app之上,它也不需要eject内置的webpack配置。

感谢您的建议。