包括来自header.php的样式表和相对路径

时间:2015-09-25 09:08:44

标签: relative-path php-include

我正在网站上工作,我正在寻找一种方法来相对包含我的所有样式表和脚本。包括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目录中有很多网站。

提前致谢!

2 个答案:

答案 0 :(得分:2)

这都是关于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 href="/assets/" />
<link href="css/styles.css" rel="stylesheet">

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

答案 1 :(得分:0)

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

基本功能告诉我的网站位于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">

谢谢!祝你有愉快的一天!