如何将重写规则添加到 Spring Boot 2.3.1

Posted

技术标签:

【中文标题】如何将重写规则添加到 Spring Boot 2.3.1【英文标题】:How to add rewrite rule to spring boot 2.3.1 【发布时间】:2020-11-21 02:28:32 【问题描述】:

我有一个基于 this example 的 Spring Boot 应用程序。

现在的问题是如何在我的应用程序中添加重写规则,当用户访问根 URL 时添加 /index.html

我的意思是当用户访问http://localhost:8080/my-apphttp://localhost:8080/my-app/ 时,我会将他或她重定向到http://localhost:8080/my-app/index.html

我找到了 here 的东西,但不幸的是对我不起作用,而且似乎 org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory 在 Spring Boot 2.3.1 中不再存在。

【问题讨论】:

https://***.com/questions/29085295/spring-mvc-restcontroller-and-redirect 为@RestController 重定向提供了一些选项(标题具有误导性) 您可以在***.com/questions/7976173/…使用解决方案 @DoNhuVy:我测试过了,不幸的是它没有在url中注入index.html 我认为 Spring Boot,Spring MVC 可以返回这样的 URL http://localhost:8080/foo/bar ,而不是 http://localhost:8080/foo/bar.html ,因此没有必要。 【参考方案1】:

我只需要添加一个新的控制器,尽管这个应用程序不使用MVC,这个控制器会将/请求重定向到/index.html

package me.cimply.ask.odata.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class AppController 
    
    @GetMapping("/")
    public String index()      
        return "redirect:index.html";
    

【讨论】:

以上是关于如何将重写规则添加到 Spring Boot 2.3.1的主要内容,如果未能解决你的问题,请参考以下文章

spring boot中常用的配置文件的重写

如何将 Thymeleaf SpringSecurityDialect 添加到 Spring Boot

如何将布局方言添加到spring-boot thymeleaf自动配置文件

如何将额外的 linux 依赖项添加到 spring-boot buildpack 映像中?

将 URL 重写规则添加到 Wordpress

如何将JDBI添加到Spring Boot应用程序中?