我正在apache2服务器上本地运行react应用程序。它提供了在此服务器上找不到的错误URL

时间:2020-07-07 14:22:17

标签: reactjs apache2

enter image description here

这是一个简单的反应记忆游戏应用程序,我试图在apache上运行。该应用程序运行正常,但是当我复制生成的邀请链接并将其粘贴到newtab中时,会出现错误,提示“在此服务器上找不到请求的网址”。当我从终端使用“ npm start”运行它时,它运行良好,但不是在Apache上运行。这是我第一次与apache在一起,所以如果这个问题很愚蠢,请和我

1 个答案:

答案 0 :(得分:1)

您是否已在Apache服务器中配置了反向代理?因为这是Apache知道如何处理React动态生成的URL所必需的。

示例(来自this answer):

<VirtualHost *:80>
    ServerName yourdomain.com
    ProxyPreserveHost on
    ProxyPass / http://localhost:8080/
</VirtualHost>

如果您不想干预Apache设置,则唯一的选择是使用HashRouter组件,因此所有URL都以#开头,这样,您的应用程序的入口始终是它的基本URL和路由由React从哈希参数确定。

示例:

<HashRouter
  basename={optionalString}
  getUserConfirmation={optionalFunc}
  hashType={optionalString}
>
  <App />
</HashRouter>
<HashRouter basename="/calendar"/>
<Link to="/today"/> // renders <a href="#/calendar/today">