![](/img/trans.png)
[英]PHP $_SERVER['PHP_SELF'] in Wordpress redirecting to the index page
[英]Redirecting URL with elseif $_SERVER['PHP_SELF']
我有一个主页,用户可以转到该主页,根据传递给它的变量显示MySQL查询的输出。 所以;
http://website/mypage.php?page=0
但是,我想设置重定向,以便有人访问
http://website/mypage.php
它将转到http://website/mypage.php?page=0
。 我考虑使用以下代码,该代码验证当前页面以及验证用户会话是否建立;
elseif ($_SERVER['PHP_SELF'] == '/mypage.php' && isset($_SESSION['valid_user']))
{
header('Refresh: 0; URL=/mypage.php?page=0');
}
但是,这看起来太笼统了。 有没有一种方法可以检查“ /mypage.php”或“ /mypage.php?page=”的确切位置? 我曾考虑过使用strlen仅检查/mypage.php中的11个字符,但是我不确定这是否是最有效的方法。
您可以检查变量页是否具有值,如果该页为空,则可以进行重定向
if($_GET['page'] == ''){
header('Location: /mypage.php?page=0');
exit;
}
要么
if(!isset($_GET['page'])){
header('Location: /mypage.php?page=0');
exit;
}
您应该使用这种方式:
header('Location: /mypage.php?page=0');
exit;
否则,请检查$ _SERVER变量以获取更严格的匹配。 http://php.net/manual/en/reserved.variables.server.php
我认为您可能需要$_SERVER['REQUEST_URI']
在您的mypage.php
您可以检查类似这样的内容
if(!isset($_GET['page'])) {
header('location: /mypage.php?page=0');
exit;
}
但是,我认为,当未设置page
变量时,为什么不直接显示要默认显示的页面,而不是使用get变量重定向到同一页面。
这是您要找的东西吗?
if(!isset($_GET['page']) || empty($_GET['page'])) {
Header('Location: http://website/mypage.php?page=0')
exit();
}
要么
if(!isset($_GET['page']))
$_GET['page'] = 0;
我不确定第二种解决方案,您不应该将value赋予$ _GET []变量。
if( !isset($_REQUEST['page']) ) {
header('Location: /mypage.php?page=0');
exit(0);
} else {
if( $_REQUEST['page']=="" ) {
header('Location: /mypage.php?page=0');
exit(0);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.