PHP重定向到URL变量

PHP重定向到URL变量,php,html,variables,redirect,Php,Html,Variables,Redirect,我试图创建一个重定向页面,当您访问www.website.com/redirect.php?链接时=http://example.com,几秒钟后,在显示重定向免责声明后,浏览器将重定向到example.com。非常感谢您的帮助 PHP是一个服务器端脚本,因此您将无法在延迟后重定向(因为这将在页面加载后发生,因此此时由客户端处理重定向) 尝试使用类似以下内容的页面: <html> <head> <script type="text/javas

我试图创建一个重定向页面,当您访问www.website.com/redirect.php?链接时=http://example.com,几秒钟后,在显示重定向免责声明后,浏览器将重定向到example.com。非常感谢您的帮助

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>

函数延迟器(){
window.location=“”
}
一些关于重定向的信息!
这里有三个主要部分:

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

2) PHP:将
GET
参数
link
插入JavaScript函数


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

您需要通过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>

重新使用
函数重定向(){
window.location=“”;
}
免责声明

setTimeout(函数(){location.href='';},3000);
';

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>

重演

正如用户名tbd所说,您不能延迟服务器端的重定向

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

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


目标链接是否需要是get参数?Upvote。这应该是正确的答案。为什么不把免责声明放在那里,就像你不同意一样。这当然是一个有用且可行的解决方案,但META标签更好。您如何证明“更好”?“更好”就是这样一个笼统的说法;很多时候,javascript都是一个不错的选择。此外,元标签的使用越来越少,javascript在这个时代变得越来越SEO友好。打败我吧!这个答案是最好的,因为它不需要Javascript(如果禁用的话)并且是SEO友好的
在URL之前是刷新之前的秒数。必要时更换。
<!doctype html>
<html>
    <head>
        <meta http-equiv="refresh" content="15; url=<?php echo $redirectTarget; ?>">
    </head>
    <body>
         Your disclaimer
    </body>
<html>