是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
当前回答
您可以尝试使用PHP头函数进行重定向。您需要设置输出缓冲区,以便浏览器不会向屏幕发出重定向警告。
ob_start();
header("Location: " . $website);
ob_end_flush();
其他回答
在语义网络的前夜,正确性是需要考虑的问题。不幸的是,PHP的“Location”标头仍然使用HTTP302重定向代码,严格来说,这不是最佳的重定向代码。它应该使用的是303。
W3C很高兴地提到,303标头与“许多HTTP/1.1之前的用户代理”不兼容,这相当于当前使用的浏览器。因此,302是一件遗物,不应该使用。
…或者你可以像其他人一样忽略它。。。
您可以使用会话变量控制对页面的访问并授权有效用户:
<?php
session_start();
if (!isset( $_SESSION["valid_user"]))
{
header("location:../");
exit();
}
// Page goes here
?>
http://php.net/manual/en/reserved.variables.session.php.
最近,我受到了网络攻击,并决定,我需要了解试图访问管理面板或web应用程序的保留部分的用户。
因此,我在文本文件中添加了IP地址和用户会话的日志访问,因为我不想打扰我的数据库。
function Redirect($url, $permanent = false)
{
if (headers_sent() === false)
{
header('Location: ' . $url, true, ($permanent === true) ? 301 : 302);
}
exit();
}
Redirect('http://www.google.com/', false);
别忘了die()/ext()!
是的,可以使用PHP。我们将重定向到另一个页面。
尝试以下代码:
<?php
header("Location:./"); // Redirect to index file
header("Location:index.php"); // Redirect to index file
header("Location:example.php");
?>
要在PHP中重定向,请使用:
<?php头('Location:URL');退出;?>