我试图链接样式表但由于某种原因我去了页面,它好像没有链接到页面(即好像没有样式表)。这是页面的代码。我是新手,所以我不知道我是否提供足够的信息,也不能想到任何其他东西。提前致谢
<?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>
答案 0 :(得分:1)
客户端的Web服务器的根目录是服务器端的$_SERVER['DOCUMENT_ROOT']
文件夹。
所以你可以使用:
<link rel="stylesheet" href="/test/styles.css">
(不包括$path
)
答案 1 :(得分:0)
$_SERVER['DOCUMENT_ROOT']
提供服务器上的根路径,而不是URL。请尝试使用$_SERVER['SERVER_NAME']
代替
答案 2 :(得分:0)
哦,我明白你的意思了,不要依赖于文件系统中的$_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
的目录中。
所以你可能需要调整一下,但是你明白了......