这是我的根文件夹:
index.php
stylesheets(folder) --->main.css
includes(folder) --->header.php
folder1 (folder) --->page1.php
这是"header.php"的链接部分(来自包含文件夹):
<link href="stylesheets/main.css" rel="stylesheet" type="text/css" />
这是索引的一部分.php :
<?php include "includes/header.php"; ?>
以下是第 1 页.php的一部分(来自文件夹 1):
<?php include "../includes/header.php"; ?>
问题是,当我打开索引时.php一切都正常。 至于/folder1/page1.php,它看不到样式,但可以看到 header.php 的内容。也就是说,它没有带来主要.css。最有可能的是,因为link href="stylesheets/main.css" rel="stylesheet" type="text/css"
有什么帮助吗?
由于从多个级别访问文件,因此应使用绝对路径。
所以要么href="http://domain.com/stylesheets/main.css"
要么href="/stylesheets/main.css"
但这只有在您将其置于域的顶层时才有效(第二个,也是我推荐的那个)。
一个强大的解决方案是使用绝对链接。执行此操作的一种便捷方法是使用中央配置文件。例如,创建一个文件config.php
,其中包含
<?php
define('SITE_ROOT', 'http://www.yourdomain.com/');
?>
并将此文件包含在每个 PHP 文件中 ( require_once('config.php');
)。然后你可以写
<link href="<?php echo SITE_ROOT; ?>stylesheets/main.css" rel="stylesheet" type="text/css" />
这将始终解析为您要引用的URL。当您站点的域更改时,中央配置将允许您轻松更改它。
我对你的文件夹结构感到困惑,但我理解正确。
尝试
href="../stylesheets/main.css"
有时简单的方法是最好的方法:使用绝对路径!