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

如何在NextJS特定页面移除rel="amphtml"标签

NextJS 基于URL移除特定页面的rel="amphtml"标签

你的需求是在体育类非AMP文章页面移除rel="amphtml"标签,其他分类页面保留。现有代码仅通过isAmp判断,缺少页面分类的区分逻辑,需要补充URL/分类的判断条件:

解决方案

  1. 先判断当前页面是否为体育类页面(可通过URL路径或页面数据判断)
  2. 修改渲染条件:仅当非AMP页面且非体育类页面时,才渲染amphtml标签

示例代码(基于URL路径判断)

import { useRouter } from 'next/router';

// 获取当前页面路径
const router = useRouter();
const { asPath: asPathURL } = router;
// 判断是否为体育类页面(假设URL包含/sports/)
const isSportsPage = asPathURL.includes('/sports/');

// 渲染逻辑
{!isAmp && !isSportsPage && (
  <link rel="amphtml" href={`${DomainName}${asPathURL}lite/`} />
)}

补充说明

  • 如果分类信息来自文章数据(比如接口返回的category字段),可直接用数据判断:article.category !== 'sports'
  • 确保DomainName和asPathURL能正确拼接出AMP页面的完整地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:39:51