在开发网站时,我还会做一些小型项目,这些项目会放入我的网站中。 我想将我的项目部分链接到我的项目。我希望每个项目都拥有自己的CSS文件,这样我就不会拥有太大的文件。所以这是我的问题,我在寻找链接CSS的正确路径时遇到了一些问题。
由于我使用PHP,所以我有一个公用文件夹,其主要index.php用作简单路由器。 这是我的体系结构:
|img\
|-- some images
|public\ (docroot)
|--index.php
|--js\
|----index.js
|--style\
|----partials\
|-------_projet.scss
|----main.scss (with @import 'partials/projet')
|----main.css
|templates\
|--projet\
|----files for the project
|--all my templates like header.php, footer.php...
这是位于public /中的index.php:
<?php
require "../vendor/autoload.php";
$required = null;
$projet = null;
$title = 'KumaTeK';
$uri = $_SERVER['REQUEST_URI'];
switch($uri) {
case '/' :
$required = '../templates/home.php';
break;
case '/projets/projet1' :
$projet = '../templates/projet1/index.php';
$title = 'Projet1';
break;
default :
$required = '../templates/404.php';
break;
}
if ($required) {
require '../templates/header.php';
require $required;
require '../templates/footer.php';
}
?>
在我的header.php中,我有:
<link rel="stylesheet" href="style/main.css">
哪个可以在home.php上使用(或使用“ /”表示路由)。 但是当我进入/ projets / projet1时,我有了没有CSS的HTML。
我想知道是否有一种技术可以找到正确的路径,或者我做错了什么。 (我的图像路径也有问题。)
答案 0 :(得分:1)
在评论中必须写:
<link rel="stylesheet" href="/style/main.css">
与
不同<link rel="stylesheet" href="style/main.css">
在第一种情况下,该URL始终相对于您的域名,这意味着即使您的URL为http://localhost/projets/projet1
,css URL也将为http://localhost/style/main.css
(与您当前的URL无关)网址)。
在第二种情况下,css URL将相对于您当前的URL,这意味着即使您的URL为http://localhost/projets/projet1
,css url也将为http://localhost/projets/projet1/style/main.css
(相对于您当前的URL )。