这就是我的项目目前的设置方式:
-index.php
-css
--index.css
-includes
--head.php
head.php
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/index.css">
<title> My Website </title>
</head>
<body>
的index.php
<?php
include(__DIR__.'/includes/head.php');
?>
问题是index.css不起作用。在这一点上,我看不出我做错了什么。任何帮助将不胜感激。感谢。
答案 0 :(得分:3)
问题在于PHP include()
的工作方式;它实际上包含从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文件,还可以引用任何其他网站。这进一步消除了混淆,但如果您更改域,则会导致问题。我个人会推荐根相对路径,因为它在使用包含和部分内容时会减少混乱。