当前位置: 首页 > 面试题库 >

配置Spring Boot以将404重定向到单页应用

包德业
2023-03-14
问题内容

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

例如,如果我正在呼叫localhost:8080/asdasd/asdasdasd/asdasd不存在的呼叫,则应将其重定向到localhost:8080/notFound

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


问题答案:

这应该可以解决问题:为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应该重定向到,然后转发到(以保持路由)。

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

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

  • 本文向大家介绍Vue单页及多页应用全局配置404页面实践记录,包括了Vue单页及多页应用全局配置404页面实践记录的使用技巧和注意事项,需要的朋友参考一下 前后端分离后,控制路由跳转的责任转移到了前端,后端只负责给前端返回一个html文档以及提供各种接口。下面我们用作例子的两个项目,均采用vue作为基础框架,一个是SPA应用,另一个是多页应用,均由前端进行路由控制及渲染的。 总体思路 无论单页还是

  • 问题内容: 重新设计网站后,我需要重定向几个页面。一切都在同一个域中,只有几件事已被重组和/或重命名。它们的形式为: /contact.php 就是现在: /contact-us.php 使用.htaccess文件,我添加了这一行,这是我最推荐的行: 这通常很好-它可以完成工作-问题是,它还可以重定向: /team1/contact.php /non-existant-folder/contact

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