来自其他目录的包含文件无法找到CSS文件或图像?

时间:2013-09-26 12:25:29

标签: php html css

我问in another question如何在更高的目录中引用文件,答案是:

<?php include('../filethatineed.html');?>

现在的问题是filethatineed.html无法找到它的CSS文件。如果它与我的包含它的文件位于同一目录中,则可以正常工作。但是当它和它的参考文件被移动到不同的目录时,这些文件就不能再被找到了。在Web浏览器中打开filethatineed.html会正确显示它,因此文件位于正确的位置。

以下是我目前如何引用它们的例子:

<link rel="stylesheet" type="text/css" href="header_style.css">

如何以不同方式引用它们以确保它们在另一个目录中包含文件时能够正常工作?

4 个答案:

答案 0 :(得分:2)

使用绝对或根相对路径引用它们。

<link rel="stylesheet" type="text/css" href="header_style.css">

(绝对,无协议):

<link rel="stylesheet" type="text/css" href="//yourdomain/path/to/css/header_style.css">

(root-relative):

<link rel="stylesheet" type="text/css" href="/path/to/css/header_style.css">

答案 1 :(得分:1)

您必须根据您使用<?php include('../filethatineed.html');?>的文件设置CSS和图像路径,而不是您所包含的文件。 或者你可以使用这个

<link rel="stylesheet" type="text/css" href="//example.com/path/to/image/img.jpg" />

答案 2 :(得分:1)

您需要提供header_style.css的完整路径 示例

<link rel="stylesheet" type="text/css" href="http://foo.com/css/header_style.css">

或者你的路径。

答案 3 :(得分:0)

客户端(=浏览器)不会看到您的HTML是否来自include()。所有路径都将相对于浏览器当前指向的HTML文件的目录。因此,您在filethatineed.html中使用的任何相对路径将不再有效。

您必须使用Alasjo建议的绝对路径,或更改相对路径。