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