Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php和mod_rewrite中检查url是否为带参数的主页_Php_Url_Mod Rewrite - Fatal编程技术网

如何在php和mod_rewrite中检查url是否为带参数的主页

如何在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

我需要写一个函数来检查URL是否是主页,即使用户使用参数。Apache的mod_重写支持漂亮的URL

我刚刚遇到了这个函数,但在尝试facebook链接后,它在应该为真时返回false

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

如果您的软件本身不知道它在哪里,您需要解决两个问题(这很奇怪):

  • 获取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路径,无需任何其他内容
  • 确定它是否是主页
  • 第一种方法有多种,但我认为最好的方法是在
    $\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的结果后,它返回了正确的值,非常感谢