这是我的项目当前设置方式:
-index.php
-css
--index.css
-includes
--head.php
头.php
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/index.css">
<title> My Website </title>
</head>
<body>
索引.php
<?php
include(__DIR__.'/includes/head.php');
?>
问题是索引.css不起作用。我现在看不出我做错了什么。任何帮助将不胜感激。谢谢。
> 问题在于PHPinclude()
的工作方式;它实际上包含了从head.php
到index.php
的代码,而不更新任何相对链接。因此,您index.php
正在寻找../css/index.css
中的 CSS 文件。虽然您的head.php
确实需要在查找CSS文件夹之前先进入一个目录,但您的index.php
文件不需要。
要解决此问题,您有多种选择:
- 您可以将相对路径更新为
css/index.css
以从index.php
文件工作。 - 您可以使用根相对路径
/css/index.css
从任何文件夹引用 CSS 文件。 - 您可以使用绝对路径
https://yourwebsite.com/css/index.css
不仅从您的网站引用 CSS 文件,还可以从任何其他网站引用 CSS 文件。这进一步消除了混淆,但如果更改域,则会导致问题。
就个人而言,我会推荐根相对路径,因为它在使用包含和部分之类的东西时不会那么混乱。