You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在PHP中使用Bootstrap通用导航栏实现当前链接高亮显示

给Bootstrap 4导航栏添加当前页面高亮的几种实用方法

嘿,这个需求在PHP开发中太常见了,我给你分享几个简单易实现的方案,完美适配你用<?php include 'filename.php'?>引入通用导航栏的场景:

方法一:通过当前页面文件名判断(最直接)

这种方法适合你的页面文件名和导航项一一对应的情况,比如index.php对应首页,about.php对应关于我们。

首先在你的导航栏include文件开头,先获取当前页面的文件名:

<?php
// 获取当前执行的PHP文件名,比如访问index.php时得到"index.php"
$currentPage = basename($_SERVER['PHP_SELF']);
?>

然后在每个导航项里,用三元运算符判断是否匹配当前页面,匹配就给对应的.nav-item加上Bootstrap的active类:

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">我的网站</a>
  <div class="collapse navbar-collapse" id="navbarNav">
    <ul class="navbar-nav">
      <li class="nav-item <?php echo ($currentPage == 'index.php') ? 'active' : ''; ?>">
        <a class="nav-link" href="index.php">首页</a>
      </li>
      <li class="nav-item <?php echo ($currentPage == 'about.php') ? 'active' : ''; ?>">
        <a class="nav-link" href="about.php">关于我们</a>
      </li>
      <li class="nav-item <?php echo ($currentPage == 'contact.php') ? 'active' : ''; ?>">
        <a class="nav-link" href="contact.php">联系我们</a>
      </li>
    </ul>
  </div>
</nav>

这样当你访问index.php时,首页的导航项就会自动加上active类,Bootstrap的样式会让它高亮显示。

方法二:通过请求URL路径判断(适合伪静态/自定义路由)

如果你用了伪静态或者自定义URL(比如/about/而不是about.php),可以用$_SERVER['REQUEST_URI']来获取完整的请求路径:

<?php
// 获取当前请求的完整路径,比如访问/about/时得到"/about/"
$currentUri = $_SERVER['REQUEST_URI'];
?>

然后在导航项里用strpos()判断路径是否包含目标字符串:

<li class="nav-item <?php echo (strpos($currentUri, '/about/') !== false) ? 'active' : ''; ?>">
  <a class="nav-link" href="/about/">关于我们</a>
</li>

这种方法适配更复杂的URL结构,不用担心文件名变化的问题。

方法三:给每个页面定义专属标识(最灵活)

如果你的页面文件名和导航名称不对应,或者需要更精细的控制,可以在每个页面的开头定义一个变量,比如:

在index.php开头:

<?php
$pageIdentifier = 'home';
?>

在about.php开头:

<?php
$pageIdentifier = 'about';
?>

然后在导航栏include文件里,直接判断这个变量:

<li class="nav-item <?php echo ($pageIdentifier == 'home') ? 'active' : ''; ?>">
  <a class="nav-link" href="index.php">首页</a>
</li>

这种方法的好处是,哪怕你以后改了页面文件名,只要$pageIdentifier不变,导航高亮就不会出问题,维护起来更省心。

小提醒:HTML后缀页面的处理

如果你的页面是.html后缀,需要确保服务器能解析HTML文件里的PHP代码。你可以在网站根目录的.htaccess文件里添加以下规则:

AddType application/x-httpd-php .html .htm

或者直接把.html改成.php,这样PHP代码才能正常运行。

内容的提问来源于stack exchange,提问作者Manasse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:30:07