是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
是否可以通过使用PHP将用户重定向到不同的页面?
假设用户转到www.example.com/page.php,我想将其重定向到www.example.com/index.php,那么在不使用元刷新的情况下,我如何做到这一点?有可能吗?
这甚至可以保护我的页面免受未授权用户的攻击。
当前回答
就像这里的其他人所说的,发送位置标头时:
header( "Location: http://www.mywebsite.com/otherpage.php" );
但在向浏览器发送任何其他输出之前,您需要执行此操作。
此外,如果您要使用此选项阻止未经身份验证的用户访问某些页面,如您所述,请记住,某些用户代理会忽略此选项,并继续在当前页面上运行,因此您需要在发送后死亡()。
其他回答
是的,可以使用PHP。我们将重定向到另一个页面。
尝试以下代码:
<?php
header("Location:./"); // Redirect to index file
header("Location:index.php"); // Redirect to index file
header("Location:example.php");
?>
header('位置:http://www.yoursite.com/new_page.html' );
要将访问者重定向到另一个页面(在条件循环中特别有用),只需使用以下代码:
<?php
header('Location: mypage.php');
?>
在本例中,mypage.php是要将访问者重定向到的页面的地址。此地址可以是绝对地址,也可以包含以下格式的参数:mypage.php?param1=值1&m2=值2)
相对/绝对路径
在处理相对或绝对路径时,最好从服务器的根目录中选择一个绝对路径(DOCUMENT_root)。使用以下格式:
<?php
header('Location: /directory/mypage.php');
?>
如果目标页面位于另一台服务器上,则包含完整的URL:
<?php
header('Location: http://www.ccm.net/forum/');
?>
HTTP头处理模块
根据HTTP协议,必须在任何类型的内容之前发送HTTP标头。这意味着在标题之前不应该发送任何字符,甚至不能发送空白!
临时/永久重定向
默认情况下,上面显示的重定向类型是临时重定向。这意味着谷歌搜索等搜索引擎在索引时不会考虑重定向。
如果您希望通知搜索引擎页面已永久移动到其他位置,请使用以下代码:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
例如,此页面包含以下代码:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
当您单击上面的链接时,将自动重定向到此页面。此外,它是永久重定向(状态:301已永久移动)。因此,如果您在Google中键入第一个URL,您将自动重定向到第二个重定向链接。
PHP代码的解释
位于header()之后的PHP代码将由服务器解释,即使访问者移动到重定向中指定的地址。在大多数情况下,这意味着您需要一个方法来跟随exit()函数的header()函数,以减少服务器的负载:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>
就像这里的其他人所说的,发送位置标头时:
header( "Location: http://www.mywebsite.com/otherpage.php" );
但在向浏览器发送任何其他输出之前,您需要执行此操作。
此外,如果您要使用此选项阻止未经身份验证的用户访问某些页面,如您所述,请记住,某些用户代理会忽略此选项,并继续在当前页面上运行,因此您需要在发送后死亡()。
header("Location: https://www.example.com/redirect.php");
直接重定向到此链接https://www.example.com/redirect.php
$redirect = "https://www.example.com/redirect.php";
header("Location: $redirect");
首先获取$redirect值,然后重定向到[value],如:https://www.example.com/redirect.php