我有两个文件,目录htdocs中的index.php和子目录htdocs / Sub中的MR.php。然后我在目录htdocs(与index.php相同的目录)中有一个文件menu.php,它在两个页面的顶部提供了一个导航菜单。
我在index.php中包含了带
的menu.php<?php include 'menu.php'; ?>
我将MR.php中的menu.php包含在
中<?php include '../menu.php'; ?>
文件menu.php包含超链接
<a href="index.php">Home</a>
但是当显示页面MR.php时,此链接将不起作用,因为它指向Sub / index.html而不是index.html。
换句话说,包含的menu.php文件中的链接是相对于显示的页面而不是我文件系统中menu.php的位置。如何解决这个问题,以便menu.php中的链接始终相对于menu.php所在的位置?
我花了很长时间在这个论坛和其他地方搜索,我知道一个解决方案是使用绝对路径,但是当我将网站移动到另一台计算机时,这将是一个问题。
我一直在尝试
<a href="<?php echo $web_root; ?>index.php"> Home </a>
但它不起作用,无论如何我不明白这与使用绝对路径有什么不同。我希望能够将网站上传到远程服务器,而无需调整任何链接。
感谢您的帮助。