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

PHP文件路径链接异常:导航栏点击后出现重复pages路径求助

解决导航栏路径重复pages目录的问题

这种情况大概率是相对路径的使用场景不对导致的,我来给你拆解下原因和解决办法:

问题根源

当你在localhost/pages/about.php这个页面里点击导航栏的foreword链接时,浏览器会把当前页面的路径(localhost/pages/)作为基准,再拼接上你写的pages/foreword.php,最终就变成了localhost/pages/pages/foreword.php。而你点击about时正常,可能是因为你最初是从根目录的页面(比如localhost/index.php)点击的,此时基准路径是根目录,拼接pages/about.php就会得到正确的地址。

快速修复方案

把所有导航链接的href改成根目录相对路径(开头加斜杠/),这样不管当前页面在哪个层级,浏览器都会从网站根目录开始查找文件:

<li class="nav-item"><a class="nav-link active" href="/pages/about.php">about</a></li>
<li class="nav-item"><a class="nav-link active" href="/pages/foreword.php">Foreword</a></li>
<li class="nav-item"><a class="nav-link active" href="/pages/preface.php">Preface</a></li>
<li class="nav-item"><a class="nav-link active" href="/pages/vission.php">Vision</a></li>

额外建议

如果你的网站后续可能部署到子目录(比如localhost/my-project/),硬写根路径可能会出问题,这时候可以在PHP里定义一个基础路径常量,比如在根目录的配置文件里加:

define('BASE_URL', '/'); // 或者如果是子目录就写'/my-project/'

然后在导航链接里用:

<li class="nav-item"><a class="nav-link active" href="<?php echo BASE_URL; ?>pages/about.php">about</a></li>

这样后续修改部署路径时只需要改常量就行,更灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:53:03