You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用Thymeleaf跳转外部URL被截断异常

故障原因

该跳转异常与Thymeleaf语法、URL渲染逻辑无关,根因是目标资讯站点配置了反盗链/外域来源拦截策略:

  • 页面渲染出的a标签href值完全正确,鼠标悬浮时浏览器状态栏显示完整新闻详情地址即可佐证这一点。
  • 从本地localhost站点点击链接跳转时,请求会自动携带当前页面的referrer来源标识,目标站识别到请求来自外域后,会自动触发重定向规则,将访问拦截至网站根路径,不予放行到具体新闻详情页。
  • 此前修改th:href写法的操作没有对准问题根源:无论直接输出变量值还是用@{}包裹,最终渲染出的href属性值都是正确的,自然无法解决拦截问题。
修复方案

为所有跳转外站的a标签添加rel="noreferrer noopener"属性,跳转时不携带来源referrer信息,即可绕过目标站的来源拦截规则,修改后的超链接代码如下:

<a
    th:href="${rate.news_link}"
    target="_blank"
    rel="noopener noreferrer"
    th:text="${rate.HEADLINE}">
</a>

补充说明:

  • 外部绝对URL不需要使用Thymeleaf的@{}语法包裹,@{}的作用是处理站内相对路径、自动拼接项目上下文路径,外站链接直接通过th:href="${rate.news_link}"输出完整地址即可。
  • 添加rel="noopener noreferrer"属性除了绕过来源拦截,还可修复target="_blank"自带的安全漏洞,避免新打开的外站页面获取原页面的操作权限。

内容的提问来源于stack exchange,提问作者Vel_More

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 05:36:25