我有一个具有此目录结构的站点:
index.php
folder1/index.php
folder2/index.php
inc/nav.php
所有index.php页面都包含nav.php页面,其中包含顶部水平导航栏,例如:
<?php include_once 'inc/nav.php' ?>
nav.php文件中包含指向各种页面的链接,例如。在站点根目录下的index.php文件中,这些工作正常,但是当在任何子文件夹中的任何index.php页面上时,这些都不起作用,因为它们链接到:
http://www.mywebsite.com/folder1/logout.php
而链接应该是:
http://www.mywebsite.com/logout.php
nav.php有这样的链接:
<li> <a href="logout.php">Logout</a> </li>
所以我看到它只在从根index.php页面调用时才有效,但无法解决如何使它在任何index.php页面上工作,无论是在站点根目录还是子文件夹。< / p>
答案 0 :(得分:2)
假设您在root上有logout.php,请在页面名之前使用斜杠,以便从根目录指向页面。
<li> <a href="/logout.php">Logout</a> </li>
正如您所使用的只是logout.php
,它将页面名称指向该特定目录,但是当您在根目录时,服务器将返回404,但是当您使用它时它将失败在目录中。
如果它仍然使导航变得复杂,您还可以使用if
条件相应地更改路径。