SpringMVC中如何拦截所有对favicon.ico的请求?

发布于 2024-12-07 14:17:49 字数 246 浏览 0 评论 0原文

我有一个控制器可以适当地响应 /favicon.ico

但我刚刚意识到,当您处于 /subpage/index.html 等子页面时,浏览器(至少是 chrome)正在请求 /subpage/favicon.ico

有没有一种干净的方法来响应所有 favicon.ico 请求?如果可能的话,我宁愿不重定向所有 .ico 请求,但如果这是最好的解决方案,也许。

I've got a controller that will respond to /favicon.ico appropriately.

But I just realized that when you're in a sub page such as /subpage/index.html the browser (at least chrome) is requesting /subpage/favicon.ico.

Is there a clean way to just respond to all favicon.ico requests? I'd rather not redirect all .ico requests if possible, but if that's the best solution, perhaps.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半暖夏伤 2024-12-14 14:17:49

好的,我刚刚使用控制器从手指中骗出了一个选项:

@Controller
@RequestMapping("/")
public class PublicPagesController extends BaseController {
    @RequestMapping("**/favicon.ico")
    public String favIconForward(){
        return "forward:/public/img/fav.ico";
    }

    // ...other stuff...
}

请注意需要使用文件名 fav.ico,如果您使用文件名 favicon.ico 尝试此操作,您将获得无限循环。

我之前只是将这种方法用于 @RequestMapping("favicon.ico")

这假设您正在通过 /public 提供静态内容,如下所示:

<mvc:resources mapping="/public/**" location="/public/"/>

Ok, one option I just finagled out of my fingers using the controller:

@Controller
@RequestMapping("/")
public class PublicPagesController extends BaseController {
    @RequestMapping("**/favicon.ico")
    public String favIconForward(){
        return "forward:/public/img/fav.ico";
    }

    // ...other stuff...
}

Note the need to use the file name fav.ico, if you try this using file name favicon.ico you'll get an infinite loop.

I previously was using this approach for just @RequestMapping("favicon.ico")

And this assumes you're serving static content out of /public with something like this:

<mvc:resources mapping="/public/**" location="/public/"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文