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

PHP实现URL对比:判断不同URL是否指向相同页面

解决方案:区分URL变体,实现精准的页面重复检测

你需要处理两类URL的重复校验场景——一类是同一页面的带推荐人参数的URL变体,另一类是路径不同的独立页面URL,核心是提炼出每个URL对应的「页面唯一标识」,再判断这个标识是否已存在。下面是具体的实现思路和示例:

核心思路

首先得明确不同站点的URL结构规则:

  • 对于signals.network这类站点:/join/后面的字符串是推荐人追踪参数,不属于页面路径的核心部分,两个URL本质指向同一页面,需要统一为同一个标识。
  • 对于westart.co这类站点:/project/后面的项目名是页面路径的关键部分,不同项目名对应不同页面,必须保留完整路径作为标识。

基于这个规则,我们可以用「域名+核心路径」作为唯一键来做重复检测。

具体实现步骤

  1. 解析URL结构:用语言自带的URL解析工具拆分域名、路径等关键部分(避免手动字符串处理出错)。
  2. 配置站点规则:针对不同域名制定核心路径的提取规则,方便后续扩展。
  3. 生成唯一标识:根据规则提取核心路径,拼接域名后得到唯一键,用这个键查询是否已存在。

代码示例(JavaScript)

// 维护不同站点的路径处理规则,可按需扩展
const sitePathRules = {
  'signals.network': {
    // 匹配带推荐人参数的join路径
    matchPattern: /^\/join\/[^/]+$/,
    getCorePath: () => '/join/' // 提取核心页面路径
  },
  'westart.co': {
    // 匹配带项目名的project路径
    matchPattern: /^\/project\/[^/]+$/,
    getCorePath: (path) => path // 保留完整路径作为核心标识
  }
};

function generateUniquePageKey(inputUrl) {
  const url = new URL(inputUrl);
  const domain = url.hostname;
  const currentPath = url.pathname;

  // 获取当前站点规则,无规则则用默认逻辑
  const rule = sitePathRules[domain];
  if (!rule) {
    // 默认:保留完整域名+小写路径作为唯一键
    return `${domain}${currentPath.toLowerCase()}`;
  }

  // 匹配规则则生成对应核心路径,否则用默认
  if (rule.matchPattern.test(currentPath)) {
    return `${domain}${rule.getCorePath(currentPath)}`;
  } else {
    return `${domain}${currentPath.toLowerCase()}`;
  }
}

// 测试用例
console.log(generateUniquePageKey('https://signals.network/join/47AA4E')); 
// 输出: signals.network/join/
console.log(generateUniquePageKey('https://signals.network/join/')); 
// 输出: signals.network/join/
console.log(generateUniquePageKey('https://westart.co/project/nuggets-airdrop')); 
// 输出: westart.co/project/nuggets-airdrop
console.log(generateUniquePageKey('https://westart.co/project/')); 
// 输出: westart.co/project/

扩展建议

  • 把规则配置做成后台可编辑的形式,后续新增站点时不用修改代码。
  • 如果遇到参数在查询串中的情况(比如xxx.com/join?ref=123),可以扩展规则忽略指定的追踪查询参数。
  • 统一URL的大小写(比如转成小写),避免因大小写差异误判为不同页面。

内容的提问来源于stack exchange,提问作者Morten Repsdorph Husfeldt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:21:55