我真的希望有一个简单的解决方案。
<?php include("header.php"); ?>
假设我的根文件夹中有一个名为 header.php 的php标题。在该标题中,有一个返回主页的链接, main.php ,main.php也位于根目录上。到目前为止没问题。这是 header.php 的样子。简单的东西,对吗?
<link href="style.css" rel="stylesheet" type="text/css" />
<div id="headerwrap">
<div id="linkbox">
<a href="main.php"><img src="images/mainlogo.png" /></a>
</div><!-- End linkbox -->
</div>
但是,假设我在子目录中有其他页面。 Subpage.php 位于根目录的子目录中,因此必须回顾根目录以获取包含的 header.php 。
<?php include("../header.php"); ?>
这不是什么大问题,除了 header.php 链接回 main.php 以及样式表,其中没有一个在* subpage.php 的目录,因此当子页面上的某人试图通过标题中的链接返回Main时会导致错误。
我只是希望有一种简单的方法来完成这项工作,而且我不必复制并将所有包含重定向到每个子目录中。此外,有太多页面无法真正合理地将它们全部包含在根目录中。对不起,如果这个答案发布在别处;我看起来并且不知道我在寻找什么。谢谢你的帮助。希望所有这些都有意义。
答案 0 :(得分:1)
你可以在header.php中硬编码main.php的路径:
<a href="http://website.com/main.php"><img src="http://website.com/images/mainlogo.png" /></a>
答案 1 :(得分:1)
与php prob相反,这似乎是一个HTML问题..
您的链接应该是与前面的/即
的相对链接<a href="/main.php"> Text </a>
而不是
<a href="main.php"> Text </a>
答案 2 :(得分:0)
如何使用绝对链接。 header.php绝对应该引用main.php,那么应该没有麻烦:
<?php include($_SERVER['DOCUMENT_ROOT'].'/header.php"); ?>
答案 3 :(得分:0)
您可以使用base html标记:
<base href="http://yoursite.com/" />
通过这种方式,您可以将该网址用作所有链接/样式表/图像的基础,如果它们位于子目录中,则无需担心。
答案 4 :(得分:0)
最好的办法是养成使用
的习惯$_SERVER['DOCUMENT_ROOT']
这样你就不会混淆你所在的目录等等。
所以包括你的标题就像这样简单:
include $_SERVER['DOCUMENT_ROOT'] . "/header.php";