是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
当前回答
以下是我的想法:
IMHO,重定向传入请求的最佳方法是使用位置标头
<?php
header("Location: /index.php");
?>
一旦执行了该语句并发出输出,浏览器将开始重新引导用户。但是,请确保在发送头之前没有任何输出(任何echo/var_dump),否则会导致错误。
虽然这是一种快速而肮脏的方式来实现最初的要求,但最终会成为一场SEO灾难,因为这种重定向总是被解释为301/302重定向,因此搜索引擎将始终将您的索引页视为重定向页,而不是登录页/主页。
因此,它会影响网站的SEO设置。
其他回答
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()!
1.使用内置PHP函数header
a) 无参数的简单重定向
<?php
header('Location: index.php');
?>
b) 使用GET参数重定向
<?php
$id = 2;
header("Location: index.php?id=$id&msg=succesfully redirect");
?>
2.在PHP中使用JavaScript重定向
a) 无参数的简单重定向
<?php
echo "<script>location.href='index.php';</script>";
?>
b) 使用GET参数重定向
<?php
$id = 2;
echo "<script>location.href='index.php?id=$id&msg=succesfully redirect';</script>";
?>
就像这里的其他人所说的,发送位置标头时:
header( "Location: http://www.mywebsite.com/otherpage.php" );
但在向浏览器发送任何其他输出之前,您需要执行此操作。
此外,如果您要使用此选项阻止未经身份验证的用户访问某些页面,如您所述,请记住,某些用户代理会忽略此选项,并继续在当前页面上运行,因此您需要在发送后死亡()。
Use:
<?php
$url = "targetpage"
function redirect$url(){
if (headers_sent()) == false{
echo '<script>window.location.href="' . $url . '";</script>';
}
}
?>
我喜欢数秒后的重定向
<?php
header("Refresh: 3;url=https://theweek.com.br/índex.php");