我是 运行 apache2 服务器上的本地 React 应用程序。它给出错误 URL 未在此服务器上找到

I am running a react app locally on apache2 server. It gives error URL not found on this server

这是一个简单的 React 记忆游戏应用程序,我正在尝试 运行 在 Apache 上。该应用程序 运行 很好,但是当我复制邀请 link 并将其粘贴到新标签中时,出现错误提示“'请求的 url 未在此服务器上找到”。它 运行 当我 运行 它从终端而不是在 apache 上使用“npm start”时它很好。这是我第一天使用 Apache,所以如果问题很愚蠢,请多多包涵

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

示例(来自 ):

<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">