2

我正在尝试使用 php 创建一个网站,并且我使用外部 css 文件。

我有 head.php 文件

<title>TITLE</title>
<link rel="stylesheet" type="text/css" href="style/style.css" />

这是我的 index.php 文件

$server = $_SERVER['DOCUMENT_ROOT'];
include $server.'/head.php';

它工作正常,但是当我尝试在 child/index.php 等子目录中创建其他 index.php 文件时,它说找不到 css 文件。我试图将 head.php 更改为

<link rel="stylesheet" type="text/css" href="<? echo $server ?>/style/style.css" />

它也不起作用。

我该如何解决这个问题?

4

3 回答 3

3

如果css文件的url是http(s?)://www.example.com/style/style.css

然后就使用:

<link rel="stylesheet" type="text/css" href="/style/style.css" />
于 2012-09-06T03:12:34.440 回答
1

由于 PHP 是服务器端,因此使用文档根目录将引用您的 Web 服务器的根目录。但是,您正在尝试在客户端加载 CSS 文件。因此,您的 href 属性值是相对于当前域的(/ 不是指服务器上的根,只是域的根)。

于 2012-09-06T03:12:27.737 回答
0

您的样式表使用的是相对路径。您可以通过更改它以反映它位于子目录中来解决问题:

../style/style.css

..导致它从解释 HTML 的位置“向上”一个目录。

另一种选择是使用绝对路径,例如http://www.example.com/style/style.css

于 2012-09-06T03:12:56.940 回答