首页 > 解决方案 > iframe 中的 react-router 应用程序的路由给出错误 404,但不是根路由

问题描述

在 tomcat 服务器中,我部署了 2 个不同的 react webapps。主应用程序插入了一个 iframe,其中包含其他应用程序(示例插件),就像这样。

var url = locationOrigin + '/sample-plugin/first' + urlParameters;

element.innerHTML = '<iframe name="Sample Plugin" src="' + url + '"  />';

我构建示例插件的方式是,如果您访问 url,/sample-plugin/您将获得插件的所有侧面板(这是索引,因为它是 tomcat 的端点,因此是 url 的根)。如果你去/sample-plugin/first你只得到第一个侧面板的内容,如果你去/sample-plugin/second,你只得到第二个侧面板的内容。

在我使用的应用程序部分/sample-plugin/(返回所有侧面板的索引)它正确显示并且在控制台中没有给出任何错误。

但是,每当我的 iframe 包含路由时,/sample-plugin/firstiframe 都会正确显示,但我会在控制台中收到以下错误:

[...]/sample-plugin/first - Failed to load resource: the server responded with a status of 404 ()

我怎样才能使我的 iframe 可以包含来自我的 react-router 的路由,理论上该路由有效,而不会出现错误 404?

标签: javascriptreactjsiframereact-routerhttp-status-code-404

解决方案


推荐阅读