在第一次进入Apache服务器索引页时,我创建了一个水平标题,其中包含重新加载主页的链接"Home"。在该页面上,我有一列指向其他页面的链接。
文件顺序为:
服务器/new_index.php
<!-- WEB server entry point -->
<?php
#echo getcwd(), "n";
$path_parts = pathinfo(getcwd());
chdir("php2");
#This is really our current home page
include ('MainPage.php');
?>
主页.php开头为:
<?php # Hollywood Controls - MainPage
$page_title = 'Hollywood Controls';
include ('../inc/header.inc.htm');
?>
<?php
echo "1 ",getcwd() . "<br>";
include ('../inc/Categorymenu.inc.htm');
?>
header.inc.htm包括:
<div id="widemenu">
<ul>
<li><a href="../php2/MainPage.php">Home</a></li>
<li><a href="../php/AirCannons.php">Halloween Products</a></li>
<!--
<li><a href="../php/Contact.php">Halloween Products</a></li>
<li><a href="../php/AirCannons.php">Halloween Products</a></li>
<li><a href="../php/Featured.php">Halloween Products</a></li>
<li><a href="../php/OrderingInfo.php">Ordering</a></li> -->
<li><a href="../php/AboutUs.php">About Us</a></li>
<li><a href="../php/Contact.php">Contact Us</a></li>
<li><a href="../php/Privacy.php">Privacy</a></li>
</ul>
<?php include('../pp_buttons/view_cart.htm');?>
</div>
Categorymenu.inc.htm 包含:
<?php
echo "3 ",getcwd() . "<br>";
#chdir("..php2");
?>
<div id="tblmenu">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td align="center" colspan="2">Category</td>
</tr>
<tr>
<td align="center" width="85%"><a href="PubArticles.php">Published Articles</a></td>
<td>(1)</td>
</tr>
<tr>
<td align="center" width="85%"><a href="TekScopeBattery.php">Equipment Repair</a></td>
<td>(1)</td>
</tr><tr>
<td align="center" width="85%"><a href="">Tear-downs</a></td>
<td>(0)</td>
</tr>
<tr>
<td align="center" width="85%"><a href="Software.php">Software</a></td>
<td>(1)</td>
</tr>
<tr>
<td align="center" width="85%"><a href="">PHP Scripts</a></td>
<td>(0)</td>
</tr>
</tbody>
</table>
</div>
在第一个页面加载时,href="PubArticles.php"指向//server/PubArticles.php(这是不正确的,因为当前目录是"php2")。
如果我通过单击水平标题中的"主页"按钮重新加载主页,我会得到不同的结果。现在 href="PubArticles.php" 指向//server/php2/PubArticles.php(正确!)。
我想我已经从完整代码中筛选了相关代码。 echo getcwd() 表示我在第一个条目和后续条目中处于"php2"中。
我在这里错过了什么?
您可以在 www.hollywoodcontrols.com 中看到此操作
问题是您使用include ('../inc/Categorymenu.inc.htm');
输出MainPage.php
表。这包括页面上的文件,这基本上与将该页面的内容复制到MainPage.php
中相同。因此,链接是相对于MainPage.php
,而不是Categorymenu.inc.htm
。
考虑到表链接将由两个不同目录中的两个文件加载,它们将具有两个不同的相对路径。解决此问题的最佳方法是通过添加尾部斜杠使表相对于根链接:
<a href="/php2/PubArticles.php">
希望这有帮助!