0

在另一个问题中询问了如何引用更高目录中的文件,答案是:

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

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

以下是我目前引用它们的方式,例如:

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

当文件包含在另一个目录中时,我应该如何以不同的方式引用它们以确保它们工作?

4

4 回答 4

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">

(根相对):

<link rel="stylesheet" type="text/css" href="/path/to/css/header_style.css">
于 2013-09-26T12:27:44.813 回答
1

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

<link rel="stylesheet" type="text/css" href="//example.com/path/to/image/img.jpg" />
于 2013-09-26T12:29:35.067 回答
1

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

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

或者无论你的路径是什么。

于 2013-09-26T12:30:03.650 回答
0

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

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

于 2013-09-26T12:28:27.130 回答