spring 资源处理程序未处理 /../**

spring Resource handler not handling /../**

我正在使用 spring 启动 thymeleaf,我的所有资源都在 spring 应用程序之外,路径类似于 "/../../css/main.css"。在 dev env 上应该使用 url 解析路径,并且 live env 继续路径。

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    String templates=env.getProperty("spring.thymeleaf.prefix");
    registry.addResourceHandler("/../../css/**")
            .addResourceLocations(templates);
}
// spring.thymeleaf.prefix = http://website.com/assets/

为什么资源处理程序不处理这些类型的资源,但如果我 "/**" 处理没有问题?我错过了什么吗?

编辑:如果 resourceHandler"/css/**" 并且位置是 url 也没有被处理

我很确定在 addResourceHandler 中使用 .. 是无效的,但我没有具体的文档来支持它。该路径描述了一种模式,即服务器获取的不是浏览器中列出的内容。来自函数文档:"based on the specified URL path patterns"。如果您从浏览器中引用 .. ,它仍将更改为要发送到服务器的某个绝对路径。这就是为什么您的其他版本可以正常工作的原因。

您无法根据需要引用外部资源,因为解析器正在从 classpath 寻找资源。

试着像本期那样做 - or in this - How do I use Spring Boot to serve static content located in Dropbox folder?