URL $_GET 重定向问题
URL $_GET Redirect Issue
所以我有一个页面 singleTicket.php
从数据库中获取 id
并将其作为 singleTicket.php?id=someIDnumber
传递到查询字符串中。然后从数据库并加载必要的信息。很容易。如果用户编辑查询字符串 ID 号并且用户在浏览器栏中输入的 ID 不存在 ID,我会重定向它...但是如果用户完全取出查询字符串并将其保留为 singleTicket.php
然后它只有一个页面,上面有一堆警告。我怎样才能防止这种情况发生?
视频广播: http://screencast.com/t/YFCZVsFwyui
注意:我的 .htaccess 中的 301 重定向不起作用。
您可以检查是否设置了 $_GET['id']:
if (!isset($_GET['id'])) {
// redirect or print a message.
}
检查是否设置了 $_GET['id']
,如果没有则重定向到您想要的任何地方。在进行任何输出之前,将其放在脚本的顶部:
isset($_GET['id']) && !empty($_GET['id']) ? $id = $_GET['id'] : header('Location // your redirect location');
作为一个很好的副作用,您还可以设置 $id
,您很可能会这样做。
如果你愿意,你可以重定向到 404
header("HTTP/1.0 404 Not Found");
所以我有一个页面 singleTicket.php
从数据库中获取 id
并将其作为 singleTicket.php?id=someIDnumber
传递到查询字符串中。然后从数据库并加载必要的信息。很容易。如果用户编辑查询字符串 ID 号并且用户在浏览器栏中输入的 ID 不存在 ID,我会重定向它...但是如果用户完全取出查询字符串并将其保留为 singleTicket.php
然后它只有一个页面,上面有一堆警告。我怎样才能防止这种情况发生?
视频广播: http://screencast.com/t/YFCZVsFwyui
注意:我的 .htaccess 中的 301 重定向不起作用。
您可以检查是否设置了 $_GET['id']:
if (!isset($_GET['id'])) {
// redirect or print a message.
}
检查是否设置了 $_GET['id']
,如果没有则重定向到您想要的任何地方。在进行任何输出之前,将其放在脚本的顶部:
isset($_GET['id']) && !empty($_GET['id']) ? $id = $_GET['id'] : header('Location // your redirect location');
作为一个很好的副作用,您还可以设置 $id
,您很可能会这样做。
如果你愿意,你可以重定向到 404
header("HTTP/1.0 404 Not Found");