重定向所有外部链接

Posted

技术标签:

【中文标题】重定向所有外部链接【英文标题】:Redirect All External Links 【发布时间】:2013-04-01 00:43:31 【问题描述】:

我想, 例如,当您链接像 google.com 这样的外部网站时,它将是这样的链接“redirector.php?url=google.com”然后转到 google.com

另外,我想在 30 秒后重定向该链接。 这意味着,在您单击链接 (redirector.php?url=google.com) 后,它会转到 redirector.php 并倒计时(30 秒),然后在 30 秒后转到 google.com。

我在 vBulletin 论坛上看到类似的内容,但我的网站不是 vBulletin。

mysite.com/redirector.php?url=google.com

但我希望它不会影响我的内部链接

mysite.com/news.php

有没有办法通过 php 做到这一点?

提前致谢

这是我的工作: '网址', 'type' => 'unparsed_equals', '之前' => '', '之后' => '', '验证' => create_function('&$tag, &$data, $disabled', ' if (strpos($data, \'http://mysite.com/redirector.php?url=\') !== 0 && strpos($data, \'https://mysite.com/redirector.php?网址=\') !== 0) $data = \'http://mysite.com/redirector.php?url=\' 。 $数据; '), ?> 但我需要替换一些东西而不是http://mysite.com,它可以实现url,比如$siteurl

有什么想法吗?

【问题讨论】:

用你的搜索词在谷歌搜索中 546,000 available results 有什么问题吗? 是的,在 php 中有一些方法可以做到这一点,你自己尝试过什么? 【参考方案1】:

像这样使用 javascript 进行超时:

redirector.php

<script type="text/JavaScript">
<!--
    setTimeout("location.href = '<?php echo htmlspecialchars($_GET['url']); ?>';", 30000);
-->
</script>

【讨论】:

【参考方案2】:

redirector.php

方法一

<?php
$url=$_GET["url"];
sleep(30);
header("Location: $url");
?>

方法二

<?php
$url=$_GET["url"];
echo "<meta http-equiv=\"refresh\" content=\"30;URL=$url\" />";
?>

【讨论】:

以上是关于重定向所有外部链接的主要内容,如果未能解决你的问题,请参考以下文章

为啥 IE10 会删除外部重定向链接上的 URL 哈希标记

如果引用者是外部的,则重定向所有流量

Xampp - 将外部 url 重定向到 localhost

打开带参数的外部链接

创建一个处理多个目的地的重定向页面php?

Angular 2 - 重定向到外部 URL 并在新选项卡中打开