是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
当前回答
是的,您可以使用header()函数,
header("Location: http://www.yourwebsite.com/user.php"); /* Redirect browser */
exit();
最好的做法是在header()函数之后立即调用exit()函数,以避免执行以下代码。
根据文档,在发送任何实际输出之前,必须调用header()。
其他回答
使用header()函数发送HTTP位置标头:
header('Location: '.$newURL);
与一些人的想法相反,die()与重定向无关。仅当您希望重定向而不是正常执行时使用它。
文件example.php:
<?php
header('Location: static.html');
$fh = fopen('/tmp/track.txt', 'a');
fwrite($fh, $_SERVER['REMOTE_ADDR'] . ' ' . date('c') . "\n");
fclose($fh);
?>
三次执行的结果:
bart@hal9k:~> cat /tmp/track.txt
127.0.0.1 2009-04-21T09:50:02+02:00
127.0.0.1 2009-04-21T09:50:05+02:00
127.0.0.1 2009-04-21T09:50:08+02:00
恢复-强制性die()/exit()是一些与实际PHP无关的都市传说。这与客户端“尊重”Location:标头无关。无论使用何种客户端,发送头都不会停止PHP执行。
header('位置:http://www.yoursite.com/new_page.html' );
1.不带收割台
在这里你不会遇到任何问题
<?php echo "<script>location.href='target-page.php';</script>"; ?>
2.使用带有exit()的头函数
<?php
header('Location: target-page.php');
exit();
?>
但是如果你使用header函数,有时你会得到“警告”likeheader already send”来解析在发送头之前不回显或打印的问题,或者您可以在头函数之后简单地使用die()或exit()。
3.将头函数与ob_start()和ob_end_flush()一起使用
<?php
ob_start(); //this should be first line of your page
header('Location: target-page.php');
ob_end_flush(); //this should be last line of your page
?>
您可以尝试使用
header('Location:'.$your_url)
有关更多信息,请参阅php官方文档
Use:
<?php
header('Location: redirectpage.php');
header('Location: redirectpage.php');
exit();
echo "<script>location.href='redirectpage.php';</script>";
?>
这是一个普通的PHP重定向,但您可以通过以下代码在几秒钟内创建一个重定向页面:
<?php
header('refresh:5;url=redirectpage.php '); // Note: here 5 means 5 seconds wait for redirect.
?>