我试图链接样式表,但由于某种原因,我去了页面,它好像没有链接到页面(即,如果没有样式表)。这是页面的代码。我是新来的,所以我不知道我是否给出了足够的信息,也不知道我还能想到什么。提前感谢
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
echo "
<!DOCTYPE HTML>
<HTML>
<head>
<meta charset='"utf-8'">
<title>Home - Study Success</title>
<!-- link to Styles -->
<link rel='"stylesheet'" href= '"$path/test/styles.css'">
</head>
";
include_once ("$path/test/wrapper.php");
如果我查看源页面,复制并粘贴样式表的路径在一个新的选项卡中,样式表打开,但如果我点击并选择在新选项卡中打开,我得到一个空白页。刚刚在firefox上打开它,查看源页面并单击样式表的路径,这就是我得到的,我仍然不知道如何解决这个问题!?
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /test/.C:/Program Files (x86)/Apache/htdocs/test/styles.css
on this server.</p>
</body></html>
客户端web服务器的根目录是服务器端的$_SERVER['DOCUMENT_ROOT']
文件夹。
所以你可以直接使用:
<link rel="stylesheet" href="/test/styles.css">
(不包括$path
)
哦,我明白你的意思了,不要依赖$_SERVER['DOCUMENT_ROOT'];
,它会在文件系统中查找:
<?php
// this can go in a config file that you can include
define('CSS_PATH', realpath(dirname(__FILE__).'/css'));
echo '
<!DOCTYPE HTML>
<HTML>
<head>
<meta charset="utf-8">
<title>Home - Study Success</title>
<!-- link to Styles -->
<link rel="stylesheet" href="'.CSS_PATH.'/test/styles.css">
</head>
';
include_once (CSS_PATH."/test/wrapper.php");
现在我不知道为什么你有style.css
和wrapper.php
在同一个目录,但在这个例子中,我假设你把它放在一个名为css
的目录。
所以你可能需要调整这个,但是你明白了…
$_SERVER['DOCUMENT_ROOT']
给出了服务器上的根路径,而不是URL。试着用$_SERVER['SERVER_NAME']
代替