如何在php和mod_rewrite中检查url是否为带参数的主页
我需要写一个函数来检查URL是否是主页,即使用户使用参数。Apache的mod_重写支持漂亮的URL 我刚刚遇到了这个函数,但在尝试facebook链接后,它在应该为真时返回false如何在php和mod_rewrite中检查url是否为带参数的主页,php,url,mod-rewrite,Php,Url,Mod Rewrite,我需要写一个函数来检查URL是否是主页,即使用户使用参数。Apache的mod_重写支持漂亮的URL 我刚刚遇到了这个函数,但在尝试facebook链接后,它在应该为真时返回false function isHomePage(){ if(trim($_SERVER['REQUEST_URI'])=='/'){ return true; } } 目前的结果: / = true /?id=someid = false /page/ = false /page/?id
function isHomePage(){
if(trim($_SERVER['REQUEST_URI'])=='/'){
return true;
}
}
目前的结果:
/ = true
/?id=someid = false
/page/ = false
/page/?id=someid = false
预期成果:
/ = true
/?id=someid = true
/page/ = false
/page/?id=someid = false
如果您的软件本身不知道它在哪里,您需要解决两个问题(这很奇怪):
$\u服务器['REQUEST\u URI']
上使用,这个URI是为了访问页面而提供的
第二点完全取决于您发送到主页的URL。这通常有多个URL,所以您应该全部检查它们
这将给出以下代码:
function isHomePage()
{
$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
return in_array($path, ['/', '/home.html', '/index']);
}
显然,您必须更改带有主页URL的数组,以满足您的需要。如果您的软件本身不知道它在哪里,您需要解决两个问题(这很奇怪):
$\u服务器['REQUEST\u URI']
上使用,这个URI是为了访问页面而提供的
第二点完全取决于您发送到主页的URL。这通常有多个URL,所以您应该全部检查它们
这将给出以下代码:
function isHomePage()
{
$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
return in_array($path, ['/', '/home.html', '/index']);
}
显然,您必须更改带有主页URL的数组以满足您的需要。您是否检查了外部URL或您自己服务器上的页面?该页面是我自己的服务器,没有外部链接您是否检查了外部URL或您自己服务器上的页面?该页面是我自己的服务器,没有外部链接SPARSE_URL()执行了此操作。在比较$path的结果之后,它返回了正确的值,这要感谢lotparse_url()完成了。在比较$path的结果后,它返回了正确的值,非常感谢