我正在尝试使用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';
它工作正常,但是当我尝试在子目录中创建其他index.php文件时,如child / index.php,它表示找不到css文件。 我试图将head.php改为
<link rel="stylesheet" type="text/css" href="<? echo $server ?>/style/style.css" />
并且它也不起作用。
我该如何解决这个问题?
答案 0 :(得分:3)
如果css文件的网址为http(s?)://www.example.com/style/style.css
然后juse使用:
<link rel="stylesheet" type="text/css" href="/style/style.css" />
答案 1 :(得分:1)
由于PHP是服务器端,因此使用文档根目录将引用Web服务器的根目录。但是,您正在尝试在客户端加载CSS文件。因此,您的href属性值是相对于当前域的(/不是指服务器上的root,只是域的根目录)。
答案 2 :(得分:0)
您的样式表正在使用相对路径。您可以通过更改它以反映它位于子目录中来解决问题:
../style/style.css
..
导致它“向上”从解释HTML的目录开始。
另一种选择是使用绝对路径,例如http://www.example.com/style/style.css