0

我正在尝试制作一个重定向页面,当您访问 www.website.com/redirect.php?link=http://example.com 时,您的浏览器会在几秒钟内重定向到 example.com重定向免责声明。您的帮助将不胜感激!

4

5 回答 5

5

Javascript 工作,但你不需要它,只需使用元刷新

<?php 

$url=$_GET['link'];

?>
<html>
    <head>
        <title>Rediercting</title>
        <meta http-equiv="refresh" content="10;URL='<?php echo $url; ?>'" />
    </head>
    <body>
        <p><a href="<?php echo $url; ?>">Redirecting to <?php echo $url; ?></a></p>
        <p>Some disclaimer</p>
    </body>
</html>
于 2012-11-24T22:42:49.063 回答
3
<?php
    echo "disclaimer here";
?>
    <script type="text/javascript">
        setTimeout(function() { location.href = '<?php echo $_GET["link"]; ?>'; }, 3000);
    </script>';
于 2012-11-24T22:34:53.713 回答
1

PHP 是服务器端脚本,因此您将无法在延迟后重定向(因为这将在页面加载后发生,因此此时由客户端处理重定向)。

尝试使用看起来像这样的页面:

<html>
    <head>
        <script type="text/javascript">
            function delayer(){
                window.location = "<?php echo $_GET['link']; ?>"
            }
        </script>
    </head>
    <body onLoad="setTimeout('delayer()', 5000)">
        Some info about the redirect!
    </body>
</html>

这里有三个主要组成部分:

1) JavaScript:函数delayer()在 5 秒后被调用。

2) PHP:这会将GET参数link插入到 JavaScript 函数中。

3) HTML:这是您可以插入免责声明的地方,其中代码显示“有关重定向的一些信息!”,在标准 HTML 中。

于 2012-11-24T22:30:50.000 回答
0

您需要先通过 JavaScript 执行此操作才能获得免责声明消息。

<html>
 <head>
  <title>Redirect</title>
 <script type="text/javascript">
    function redirect(){
        window.location = "<?php echo $link; ?>";
    }
 </script>
 </head>
 <body onload="setTimeout(redirect(), 5000);">
  <B>DISCLAIMER HERE</B>
 </body>
</html>
于 2012-11-24T22:31:44.997 回答
0

正如用户名 tbd 已经说过的,您不能在服务器端延迟重定向。

JavaScript 解决方案的替代方案是原生 HTML

<!doctype html>
<html>
    <head>
        <meta http-equiv="refresh" content="15; url=<?php echo $redirectTarget; ?>">
    </head>
    <body>
         Your disclaimer
    </body>
<html>

15 表示重定向完成前等待的时间(以秒为单位)。

于 2012-11-24T22:52:18.963 回答