javascript - 如何让 ReactRouter 忽略一个 URL?
问题描述
我在 Apache 上托管我的 React 项目,并且必须使用 .htaccess 文件重定向请求。它在 React 中,但也使用 vanilla javascript 和 HTML 站点。
在生产中(npm start),它是这样工作的:
如果该站点从 Firebase 获得某些令牌,则该页面将被重定向到该站点,如下所示:
{HaveToken ? (
<BrowserRouter>
<Route exact path="/" render={() => {window.location.href="tv/indextv.html?m="+auth.currentUser.email+"&p="+othermail+"&t="+othertoken}} />
</BrowserRouter>
):null}
如果没有,函数的 return 语句将继续执行,呈现其他内容。在 html/javascript 站点上,单击一个按钮,它将被重定向到同一个 App.js 项目,其中包含以下行:
window.location.href = 'http://localhost/messages';
它只会运行 App.js,并且运行良好,不会再次重新路由,因为它不再只是“/”。
现在我构建了它,并将它添加到 Apache 服务器,它的工作方式有所不同。对于 /messages,我收到 404 错误,原因很明显。
我的问题是,我该如何解决这个问题?我试图通过添加类似的东西来做到这一点,
localhost?m=m
这样位置就相同了,但 URL 略有不同。可悲的是,Route 仍然认为这是相同的路径。如果他们没有通过单击另一个站点上的按钮到达这里,有什么方法可以让 Route 只呈现另一个站点?或者我可以从其他站点传递一些可以使 Route 忽略它是同一路径的东西吗?
解决方案
推荐阅读
- html - 移动位置滚动条
- google-sheets - 为什么“><”是有效标准?
- python - Pandas groupby 在固定时间段内
- python - 有没有办法在输出中排列项目
- python - 让 Django 消息出现在页面的特定位置
- django - 在 django auth 视图中传递上下文
- sql - 以逗号分隔的列值所需的建议
- mysql - 如何使用 Rsync 和 MySQL 搜索和替换导入 WordPress 特色图像?
- c# - Rebus saga 一致性
- flutter - 如何在 ExpansionPanelList 中添加 ImplicitlyAnimatedReorderableList (Reordareble)?