【问题标题】:Multiple folders linking to css files PHP链接到css文件PHP的多个文件夹
【发布时间】:2014-04-11 22:30:33
【问题描述】:

我有一个名为 header.php 的 PHP 文件,其中包含以下内容:

<title><?php echo $title; ?></title>
<link href="core/css/styles.css" rel="stylesheet" /> 
<link href="core/css/bootstrap.css" rel="stylesheet">

当位于我网站的根文件夹时,很容易访问这些文件。只需使用:include 'header.php'。但是,当我在 root 以外的目录中时,例如 order/ 无法访问文件。我可以通过返回一个目录来访问 PHP 文件:include '../header.php' 但是这不适用于该文件中包含的 css 文件,并且它们不能被不在根目录中的文件访问。

谁能帮我解决这个问题?我喜欢只有一个 header.php 文件,因为我可以在该文档中添加/删除文件,并且更改将出现在整个站点中。

非常感谢, 哈利

【问题讨论】:

  • 最简单的方法:每个路径都以/开头,然后它们是相对于域根目录的。
  • 谢谢,我马上测试一下。好的,如果我将所有文件都相对于域根目录,那么无论我在哪个目录中创建页面,我都不应该有任何问题?
  • 当然。当您提供相对路径时,客户端必须使用当前目录和相对路径将其完成为完整的绝对 URL。但是,当您通过前缀/ 引用域根时,当前目录无关紧要,客户端只需将协议和域放在它前面即可。
  • 好的,非常感谢您的帮助!

标签: php html css directory


【解决方案1】:

在使用通用标头时,务必使用来自 Web 根目录的 css 文件的绝对路径。因此,如果core 是根目录中的文件夹,这将是修改后的 header.php:

<title><?php echo $title; ?></title>
<link href="/core/css/styles.css" rel="stylesheet" /> 
<link href="/core/css/bootstrap.css" rel="stylesheet">

注意路径开头的/,表示from the web root

【讨论】:

  • 为了更安全,我会使用 "http://" 生成完整路径。 $_SERVER['HTTP_HOST'] 。 $_SERVER['REQUEST_URI'] 。你的href中的“/core/css/styles.css”
  • @castt 我看不出这有多安全...?
猜你喜欢
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多