如何检查 url 是否为主页

How to check if url is the homepage

找到了这个答案If url is the homepage (/ or index.php) do this,它确实很有帮助,但没有完全回答我的问题。

我有一个学校站点索引,它显示了我的所有文件夹到不同的作业。所以我的主页实际上是 domain/folder/index.html

所以当我询问是否 $currentpage == /midterm/index.php || /midterm/ 即使我在 /midterm/add.php

上,它也总是触发为真
<?php
$homeurl = '/midterm/index.php';
$homepage = '/midterm';
$currentpage = $_SERVER['REQUEST_URI'];

if ($currentpage == $homeurl || $homepage) {
    echo '<div class="hero"></div>';
}

这是因为您的 if 语句正在检查是否设置了 $homepage,而不是检查 $homepage 是否等于 $currentpage

if ($currentpage == $homeurl || $currentpage == $homepage) {
    echo '<div class="hero"></div>';
}

您的问题出在您的条件中:if ($currentpage == $homeurl || $homepage) 将始终 return true 因为您声明 $currentpage 必须等于 $homeurl只是简单的$homepage。添加括号有助于展示这一点:

if ( ($currentpage == $homeurl) || ($homepage) )

因为设置了 $homepage,所以它是 truthy,计算结果为 true。由于你的 OR (||),条件的 一部分 需要 true,条件 returns true作为一个整体。

要解决此问题,您需要检查 $currentpage 是否等于 $homeurl $currentpage 是否等于 $homepage:

if ($currentpage == $homeurl || $currentpage == $homepage)

加上括号,计算结果为:

if ( ($currentpage == $homeurl ) || ($currentpage == $homepage) )

希望对您有所帮助! :)