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

如何用.htaccess或Javascript让指定外部链接先经联盟链接跳转?

批量处理商品链接跳转的两种实现方案

一、用.htaccess批量配置(推荐服务器端实现)

完全不需要逐个设置规则,通过正则匹配就能批量处理所有符合website.com/product/[variable]格式的链接。把下面的规则放到你的.htaccess文件里即可:

RewriteEngine On

# 匹配website.com/product/xxx格式的链接,批量跳转到联盟链接
RewriteCond %{HTTP_HOST} ^website\.com$ [NC]
RewriteRule ^product/(.*)$ https://myaffiliatelink.com?redirect=https://website.com/product/$1 [L,R=302]

规则说明:

  • RewriteCond %{HTTP_HOST} ^website\.com$ [NC]:限定只处理当前域名是website.com的请求,避免影响其他域名的链接。
  • RewriteRule ^product/(.*)$ ...:用(.*)捕获product/后面的所有变量内容(即[variable]部分),然后把整个链接重定向到myaffiliatelink.com,同时通过redirect参数传递原目标链接(具体参数名可根据联盟平台要求调整)。
  • R=302是临时跳转,测试无误后可改为R=301永久跳转。

二、用JavaScript实现(前端兜底方案)

如果无法修改服务器的.htaccess,可以用JS批量修改页面上的目标链接,实现点击跳转中转:

// 页面加载完成后处理所有静态链接
document.addEventListener('DOMContentLoaded', function() {
  const links = document.querySelectorAll('a');
  links.forEach(link => {
    const href = link.getAttribute('href');
    if (href && href.includes('website.com/product/')) {
      const redirectUrl = encodeURIComponent(href);
      link.setAttribute('href', `https://myaffiliatelink.com?redirect=${redirectUrl}`);
    }
  });
});

动态内容兼容处理:

如果页面有滚动加载、异步渲染的动态商品链接,可改用事件委托监听点击事件:

// 事件委托处理动态加载的链接
document.body.addEventListener('click', function(e) {
  const link = e.target.closest('a');
  if (link && link.href.includes('website.com/product/')) {
    e.preventDefault();
    const redirectUrl = encodeURIComponent(link.href);
    window.location.href = `https://myaffiliatelink.com?redirect=${redirectUrl}`;
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:25:22