链接解析器与“幻影”301重定向

时间:2011-03-19 12:24:50

标签: php wordpress redirect hyperlink

我正在草拟程序流程,以便重定向我的内容中出现的特定链接,并希望在此处提出一些一般性建议。

我们的想法是在这样的内容中出现一个链接:

www.targetsite.com

其中,重定向到...

www.targetsite.com?affiliate-id=1234

我将维护一个包含数据库内301重定向的链接列表,以及相应的重定向URL,我只是在这里查看有关如何处理实际执行重定向的post解析器的想法和选项。例如,当用户将鼠标悬停在上述示例中的链接上时,它应该在状态栏中显示为“www.targetsite.com”,而不是使用其他查询字符串参数。

提前感谢您的想法。

这将部署在WordPress上,并将以PHP编码。

1 个答案:

答案 0 :(得分:1)

实际上,这听起来非常简单,过去我就是这么做的。它涉及三个组成部分:

  1. 服务器端的数据库或链接列表
  2. 前端的JavaScript例程,用于拦截链接点击次数
  3. 用于重定向的服务器端处理器。
  4. 基本上,您在每个链接上使用自定义类(“redirect-XXX”)和“rel”属性。所以不是这样:

    <a href="http://targetsite.com?affiliate-id-1234">Link</a>
    

    你有:

    <a rel="cloaked" class="redirect-1" href="http://targetsite.com">Link</a>
    

    JavaScript需要拦截rel =“cloaked”链接上的所有点击,并阻止他们实际去任何地方。相反,它会将其重定向到服务器上的页面并对URL中的id(redirect-1为id = 1)进行编码,以便服务器可以对其进行处理。基本上,JavaScript会将浏览器发送到http://mysite.com/externallink.php?site=http://targetsite.com&linkid=1,并使用正确的HTTP转义网址和所有内容。

    然后服务器端脚本需要查找链接(站点引用只是指向任何仔细查看状态栏的人,你仍然将它们重定向到同一个站点,而不是某个地方是邪恶的)在linkid上,用服务器端的301重定向浏览器。