如何编写一个函数,告诉我当前正在查看主页(/index.php)?

如何编写一个函数,告诉我当前正在查看主页(/index.php)?,php,function,url,Php,Function,Url,PHP: 说明: is_主页,应适用于所有这些情况: http://www.domain.com https://www.domain.com http://domain.com http://domain.com/?param=value http://domain.com/index.php?param=value 在不应该起作用的地方: http://subdomain.domain.com http://domain.com/otherfile.php?param=value 等等

PHP:

说明:

is_主页,应适用于所有这些情况:

  • http://www.domain.com
  • https://www.domain.com
  • http://domain.com
  • http://domain.com/?param=value
  • http://domain.com/index.php?param=value
在不应该起作用的地方:

  • http://subdomain.domain.com
  • http://domain.com/otherfile.php?param=value
  • 等等
做一个

打印服务器($)

您将看到所有有助于实现这一目标的数据

我会用

$\u服务器['PHP\u SELF']


识别我当前使用的文件\页面。

这当然取决于PHP脚本的布局。尽管以下解决方案在大多数情况下都有效:

function is_homepage()
{
  return ( ( $_SERVER['HTTP_HOST'] == 'www.domain.com' || $_SERVER['HTTP_HOST'] == 'domain.com') && substr( $_SERVER['REQUEST_URI'], 0, 9 ) == 'index.php' );

}

if(is_homepage())
{
    echo 'You are on the homepage';
}
else
{
    echo 'You are not on the homepage';
}

为什么不在PHP页面中设置一个标志作为主页呢?哦,我想这太有用了,哈哈,我只是觉得换一种方式会更好。谢谢查看所有这些页面的
$\u SERVER
变量,会发现一些共同点。试试看,当您在子域上时会怎么样?这不会以任何方式影响脚本行为,因为
script\u NAME
返回当前脚本名称。
function is_homepage()
{
  return ( ( $_SERVER['HTTP_HOST'] == 'www.domain.com' || $_SERVER['HTTP_HOST'] == 'domain.com') && substr( $_SERVER['REQUEST_URI'], 0, 9 ) == 'index.php' );

}

if(is_homepage())
{
    echo 'You are on the homepage';
}
else
{
    echo 'You are not on the homepage';
}
$_SERVER['SCRIPT_NAME'] == '/index.php'