样式表的路径不工作


path of stylesheet not working php

我试图链接样式表,但由于某种原因,我去了页面,它好像没有链接到页面(即,如果没有样式表)。这是页面的代码。我是新来的,所以我不知道我是否给出了足够的信息,也不知道我还能想到什么。提前感谢

<?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.csswrapper.php在同一个目录,但在这个例子中,我假设你把它放在一个名为css的目录。

所以你可能需要调整这个,但是你明白了…

$_SERVER['DOCUMENT_ROOT']给出了服务器上的根路径,而不是URL。试着用$_SERVER['SERVER_NAME']代替