如何编写一个函数,告诉我当前正在查看主页(/index.php)?
PHP: 说明: is_主页,应适用于所有这些情况:如何编写一个函数,告诉我当前正在查看主页(/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 等等
- 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脚本的布局。尽管以下解决方案在大多数情况下都有效:
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'