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

Angular动态URL下的301重定向问题及解决方案咨询

动态URL的301重定向解决方案

先看你给出的URL差异:正确URL的时间戳是13位数字(比如1671794340325),错误URL里这个时间戳后面多了6个0(变成1671794340325000000)。针对这种动态错误URL,可以用正则匹配+捕获替换的方式处理,修改你的server.ts代码如下:

// 匹配错误URL的正则:捕获文章前缀、正确13位时间戳、后缀
const wrongUrlRegex = /^\/article\/news-top-story\/(.*)-(\d{13})000000_1\.html$/;

const match = req.originalUrl.match(wrongUrlRegex);
if (match) {
  // 拼接正确的URL
  const correctUrl = `/article/news-top-story/${match[1]}-${match[2]}_1.html`;
  res.redirect(301, correctUrl);
} else {
  res.render(indexHtml, { req, providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }] });
}

逻辑说明:

  • 正则/^\/article\/news-top-story\/(.*)-(\d{13})000000_1\.html$/精准匹配错误URL结构:
    • (.*):捕获文章标题部分(比如bharat-highways-invit-files-drhp-to-launch-rs-crore-ipo)
    • (\d{13}):捕获13位的正确时间戳
    • 后面的000000就是错误的多余部分
  • 捕获到匹配内容后,把标题、正确时间戳和后缀拼接成正确URL,返回301重定向
  • 不匹配的URL(包括正确URL和其他正常路径)则走原来的渲染逻辑

如果后续还有其他类似的动态错误URL模式,只需要调整正则表达式的匹配规则即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:00:56