PHP重定向到URL变量

时间:2012-11-24 22:28:10

标签: php html variables redirect

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

5 个答案:

答案 0 :(得分: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>

答案 1 :(得分:3)

<?php
    echo "disclaimer here";
?>
    <script type="text/javascript">
        setTimeout(function() { location.href = '<?php echo $_GET["link"]; ?>'; }, 3000);
    </script>';

答案 2 :(得分: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:5秒后调用函数delayer()

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

3)HTML:您可以在此处插入免责声明,其中代码为“有关重定向的一些信息!”,标准HTML。

答案 3 :(得分: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>

答案 4 :(得分: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表示重定向完成前等待的时间(以秒为单位)。