包含来自 header.php 的具有相对路径的样式表

Including stylesheets from header.php with a relative path

我正在一个网站上工作,我正在寻找一种方法来相对地包含我所有的样式表和脚本。包含 php 文件很容易:

<?php include 'header.php'; ?>  

<?php include '../header.php'; ?>  

或通过引用根路径:

<?php include '/header.php'; ?> 

但是:所有样式表和脚本都不会加载到位于“/products”的页面上,因为它们相对于根目录而不是 root/products。

例如:

<link href="css/styles.css" rel="stylesheet">

有没有一种方法可以相对地包含样式表和脚本,而无需考虑页面所在的位置,即调用 header.php?

我正在使用 mamp 在本地服务器上工作,mamp 目录中有很多网站。

提前致谢!

蒂姆

一切都是为了 HTML。以下将加载与您当前所在页面相关的样式表。

<link href="css/styles.css" rel="stylesheet">

例如,如果您的页面是 /products/page1。html。浏览器将尝试加载 /products/css/styles.css

绝对路径如下所示:

 <link href="/css/styles.css" rel="stylesheet">

注意附加的正斜杠。在这种情况下,尽管您的页面是 /products/page1.html。浏览器将尝试加载 /css/styles.css

您也可以像第一个示例一样使用 base 标记更改相对 url。

<base href="/assets/" />
<link href="css/styles.css" rel="stylesheet">

这次浏览器会尝试加载/assets/css/styles.css

好的,我找到了解决方案:

基本函数告诉我的网站基于 http://localhost/planilux/02/

<base href="http://localhost/planilux/02/" />

我一直在尝试通过告诉路径基于根来获取我的样式表:

<link href="/css/styles.css" rel="stylesheet">

路径中 css 之前的小斜线是问题所在。

结果很好:

<link href="css/hacks.css" rel="stylesheet">

谢谢!!!祝你有美好的一天!