/**
* 将重构期间出现的不带 .html 的详情地址收敛到旧站已收录 URL。
* 只做 URL 规范化,不参与任何页面业务逻辑。
*/
export default defineNuxtRouteMiddleware((to) => {
const path = to.path
if (path.endsWith('.html')) return
const needsHtmlSuffix = [
/^\/pic\/[^/]+$/,
/^\/info\/(?:new|course|what)\/[^/]+$/,
/^\/info\/tag\/[^/]+$/,
/^\/(?:news|baike|course)\/detail\/[^/]+$/,
].some(pattern => pattern.test(path))
if (!needsHtmlSuffix) return
return navigateTo(
{ path: `${path}.html`, query: to.query, hash: to.hash },
{ redirectCode: 301, replace: true },
)
})