Php 如果用户手动更改url,如何将其重定向到主页?

Php 如果用户手动更改url,如何将其重定向到主页?,php,redirect,Php,Redirect,假设用户位于-->mysite.com/product.php?id=5页面 他手动删除了?id=5和r=url,变成了-->mysite.com/product.php 如何将他重定向到主页?只需检查查询字符串中是否缺少id。如果是,请执行重定向 if (!isset($_GET['id']) || empty($_GET['id'])) { //redirect } 如果设置了参数后仍希望页面可访问,请使用以下方法: if(!isset($_GET)){ header("L

假设用户位于-->mysite.com/product.php?id=5页面 他手动删除了?id=5和r=url,变成了-->mysite.com/product.php


如何将他重定向到主页?

只需检查查询字符串中是否缺少id。如果是,请执行重定向

if (!isset($_GET['id']) || empty($_GET['id'])) {
    //redirect
}

如果设置了参数后仍希望页面可访问,请使用以下方法:

if(!isset($_GET)){
    header("Location: http://mysite.com/");
    exit;
}
检查是否没有向页面传递任何变量,然后相应地重定向。
在标题后退出
,以确保不会向浏览器发送任何会破坏标题的文本

如果这将成为死页,请使用403:

header ('HTTP/1.1 301 Moved Permanently');
header ("Location: http://mysite.com/");

这样做的目的是什么?在这种情况下404会更好。对于几乎所有的问题,无声重定向都是糟糕的解决方案。如果你想要一个100%正确的答案,我强烈建议你解释一下为什么要这样做。如果有人在不删除id=5的情况下将其输入浏览器,该怎么办?或者如果他们将其更改为
?id=4
。。。在我看来,有很多事情要考虑,而不是一个问题。如果这有帮助,请确保投票并接受:)