我正在设置我的网站以使用include()
语句标准化页眉,页脚和导航等内容,例如
include('header.php);
但是,当我对两个不同目录中的页面使用相同的头文件时,header.php
中包含的相对链接会中断,例如:
的header.php
<a href="images/dog.jpg">
的index.php
include('header.php);
成为
<a href="images/dog.jpg">
这是有效的,因为这是来自index.php文件的dog.jpg的正确路径。
动物/ canine.php
include('header.php);
成为
<a href="images/dog.jpg">
这不起作用,因为不存在animals / images / dog.jpg。
所以,我的问题是,我可以在header.php文件中更改哪些内容可以定制ur.to dog.jpg以及在包含header.php的情况下在animals.php和animals / canine.php中工作?
答案 0 :(得分:7)
更改包含以使用绝对路径:
<a href="/images/dog.jpg">
这样,它们将基于您网站的根目录,并始终指向正确的文件夹。
答案 1 :(得分:1)
创建一个名为$root_path
的新变量,并在其中添加相对于您所在页面的Web目录根目录的路径。在包含header.php
这是mysite.com/junk/index.php
,因此您的图片资源位于../images/
<?php
$root_path = '../'
include('header.php');
输出资产网址时,请将$root_path
放在其前面。