这是我的根文件夹:
index.php
stylesheets(folder) --->main.css
includes(folder) --->header.php
folder1 (folder) --->page1.php
这是“header.php”的链接部分(来自includes文件夹):
<link href="stylesheets/main.css" rel="stylesheet" type="text/css" />
这是index.php的一部分:
<?php include "includes/header.php"; ?>
这是page1.php的一部分(来自folder1):
<?php include "../includes/header.php"; ?>
问题是,当我打开index.php时一切正常。至于/folder1/page1.php,它看不到样式但看到header.php的内容。也就是说,它没有带来main.css。很可能,因为link href="stylesheets/main.css" rel="stylesheet" type="text/css"
有任何帮助吗?
答案 0 :(得分:4)
因为您从多个级别访问文件,所以应该使用绝对路径。
所以href="http://domain.com/stylesheets/main.css"
或href="/stylesheets/main.css"
但是当你在你的域名顶层时,这只能起作用(第二个,我推荐的那个)。
答案 1 :(得分:2)
强大的解决方案是使用绝对链接。一种方便的方法是使用中央配置文件。例如,创建一个包含
的文件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" />
始终会解析为您要引用的网址。当您网站的域名发生变化时,中央配置将允许您轻松更改它。
答案 2 :(得分:0)
我对你的文件夹结构感到困惑,但我理解正确。
尝试
href="../stylesheets/main.css"
答案 3 :(得分:0)
有时简单的方法是最好的方法:使用绝对路径!