当前位置: 首页 > 知识库问答 >
问题:

配置spring boot将404重定向到单页应用程序[重复]

罗睿识
2023-03-14

我想配置我的Spring Boot应用程序重定向任何404未找到请求到我的单页应用程序

例如,如果我调用的localhost:8080/asdasd/asdasd/asdasd,它应该重定向到localhost:8080/notfound

问题是我有一个单页react应用程序,它在根路径localhost:8080/中运行。所以spring应该重定向到localhost:8080/notfound,然后转发到/(以保持路由)。

共有1个答案

段干长恨
2023-03-14

这应该能做到这一点:为404添加一个错误页面,该页面路由到/notfound,并将其转发给您的SPA(假设条目位于/index.html):

@Configuration
public class WebApplicationConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/notFound").setViewName("forward:/index.html");
    }


    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return container -> {
            container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,
                    "/notFound"));
        };
    }

}
 类似资料:
  • 问题内容: 我想配置我的Spring Boot应用程序以将任何404未找到的请求重定向到我的单页应用程序。 例如,如果我正在呼叫不存在的呼叫,则应将其重定向到。 问题是我只有一个页面react应用程序,它在根路径下运行。因此,spring应该重定向到,然后转发到(以保持路由)。 问题答案: 这应该可以解决问题:为404添加一个错误页面,该页面路由到,然后将其转发到您的SPA(假设该条目位于):

  • 我在关注堆栈问题如何设置lets加密SSL证书并在Spring Boot应用程序中使用它?将我的Springboot应用程序配置为使用https(certbot),但我的Nginx没有正确重定向到我的应用程序。 更多内容:我正在使用Cloudflare重定向www.example。com(我的域)向我拥有Nginx和Springboot应用程序的计算机发出请求。我希望Nginx将端口80上的htt

  • 我刚刚使用Firebase CLI初始化了一个静态托管项目。当您启用“配置为单页应用程序”选项时,具体会发生什么情况?我正在寻找关于哪些文件被修改的描述,以及这对Firebase后端有什么样的影响。

  • 当我在浏览器中键入React应用程序的任何路径时,例如:http://localhost/login,请求击中我的服务器,我的服务器以401 Unauthorized响应。 当请求不是授权的后端api时,我希望在react路由中处理请求。 网络安全配置。爪哇: 重新验证入口点。爪哇: 是否有办法将请求转发到索引。重新验证EntryPoint中的html?

  • 我刚刚使用Firebase CLI初始化了一个静态托管项目。当您启用“配置为单页应用程序”选项时,会发生什么情况?我想知道到底修改了哪些文件,以及这对Firebase后端有什么影响。

  • 问题内容: 我不知道执行此操作的功能,有人知道吗? 问题答案: 我发现这个例子很有帮助: https://github.com/visionmedia/express/blob/master/examples/error- pages/index.js 所以实际上是这部分: