子文件夹中的PHP文件不会调用css

时间:2016-11-18 19:07:41

标签: php

我必须从名为resources/includes/header-test.php的子文件夹中调用subfolder/mypage.php。这是通过以下代码解决的,但给了我一个新问题。

<?php include __DIR__.'/../resources/includes/header-test.php'; ?>

这里可以看到文件夹结构: Folder structure

现在问题是当我转到mypage.php时没有调用css。那我怎么能调用我的CSS,所以它在根目录和子文件夹中的php文件中工作?

  

testProject / index.php - &gt; css正在运作

     

testProject / subfolder / mypage.php - &gt; css无效

标题-test.php的

<html>

<head>
<link href="css/style.css" rel="stylesheet" />
</head>
<h1>THIS IS THE HEADER FROM INCLUDE</h1>

的index.php

<?php include 'resources/includes/header-test.php' ?>

<body>
    <h2 class="font">THIS IS THE INDEX BODY</h2>
    <p>The css works on this page when I link to the css like this in the header:</p>
    <p>link href="css/style.css" rel="stylesheet" </p>

    <a href="subfolder/mypage.php">MyPage subfolder link</a>

</body>

</html>

mypage.php

<?php include __DIR__.'/../resources/includes/header-test.php'; ?>
<body>
        <h2 class="font">THIS IS THE BODY OF SUBFOLDER/MYPAGE.PHP</h2>
        <p>The css does not work when I link like this in the header</p>
        <p>link href="css/style.css" rel="stylesheet"</p>
</body>
</html>

的style.css

.font {
    color: red;
}

1 个答案:

答案 0 :(得分:3)

这是css/style.css路径相对于文件的问题。您应该在前面添加/,以告诉页面从Web目录的“根”加载资产。简而言之,它应该是/css/style.css,这将适用于两个页面。

您应该注意,Web目录的根目录与文件服务器根目录不同。如果您在本地开发并拥有一个位于/path/to/your/website/的index.html等文件,并且您在浏览器中使用/path/to/your/website/index.html进行查看,则会破坏资产的路径。