0

我有一个具有此目录结构的站点:

index.php
folder1/index.php
folder2/index.php
inc/nav.php

所有 index.php 页面都包含 nav.php 页面,该页面包含顶部水平导航栏,例如:

<?php include_once 'inc/nav.php' ?>

nav.php 文件中包含指向各个页面的链接,例如。home 和 logout 等。这些在站点根目录的 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 页面上工作,无论是在站点根级别还是子文件夹。

4

1 回答 1

2

假设你在根目录下有 logout.php,像这样在页面名称前使用斜杠,以从根目录指向页面。

<li> <a href="/logout.php">Logout</a> </li>

因为您使用的只是logout.php将页面名称指向该特定目录,但服务器将返回 404,因为它可能在您位于根目录时可用,但当您在目录中时它将失败。

如果它仍然使导航复杂化,您还可以使用if条件来相应地更改路径。

于 2013-07-23T03:35:09.723 回答