检测并更改PHP中的外部链接?

时间:2011-07-05 12:18:50

标签: php external-links

我有一个免费的PHP网络服务器,我想提供一个重定向到外部链接页面,就像deviantart.com一样。有没有办法只用PHP做到这一点?我无法访问服务器。

修改:我的意思是一页询问“你确定要离开[MA网站]吗?NOPE; DUH - 转到http://outside-example.com

Edit2 :我实际上是指捕获外部链接并将其替换为/redirect/?url=PARSED_URL_ADDRESS

的函数

4 个答案:

答案 0 :(得分:1)

你的意思是header('Location: http://www.example.com/');

答案 1 :(得分:1)

您需要检测是否有重定向到外部网站的链接,然后您需要一个页面来显示“Now Leaving yourwebsite.com”

如果是这种情况,那么您需要在呈现之前分析页面内容,并找出是否有任何标记,并将其替换为gatway.php?url=outgoing-url

在gateway.php中,使用字符串比较方法比较url是属于您的网站还是外部网站

在页脚中使用此js代码(我希望有一些公共页脚页面)

var urls = document.getElementsByTagName("a");
for (urlIndex in urls ) {
   urls[urlIndex].href = "dummy.php?url="+urls[urlIndex].href; //replace dummy.php with urs
}

答案 2 :(得分:0)

例如,提供一个创建<a>标签的功能。或者只是将网址转换为重定向程序的网址:redirect.php?url=http://...。然后重定向器发出一个名为“refresh”的HTTP头设置为新地址。美化它以便用户知道他正被重定向,瞧。

了解自己如何:)

答案 3 :(得分:0)

最好的方法是使用位置标题,但你还需要设置一个301响应代码,这也告诉搜索引擎抓取该网址上的内容位于不同位置的链接,这是一个一般情况下,为重定向设置响应代码的最佳做法。

Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.new-url.com" );