HTML 如何“链接 href”从不同的文件夹调用相同的文件


How can HTML "link href" call same file from different folders?

这是我的根文件夹:

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"

有时简单的方法是最好的方法:使用绝对路径!