无法从路由加载css

时间:2018-05-17 12:50:25

标签: css routing

我正在使用FatFree Framework。当我使用F3创建页面时,它工作正常。该页面加载了css& js并且看起来很漂亮。

的index.php

<?php

 $f3 = require('f3/lib/base.php');

 $f3->route('GET /post',
   function($f3) {
     echo \Template::instance()->render('./view/post.htm');
   }
 );

当我尝试加载具有特定ID的帖子时,页面看起来好像没有正确加载css(凌乱)。

$f3->route('GET /post/@id',
   function($f3,$params) {
     $postid = $params['id'];
     echo \Template::instance()->render('./view/post.htm');
   }
 )

/view/post.htm

<!DOCTYPE html>
<html lang="en">
  <include href="./template/head.htm" />
  <body>
    {{ post: $id }}
  </body>
</html>

/template/head.htm

<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="author" content="" />
<meta name="description" content="">

<!-- Document title -->
<title> Post </title>
<link rel="icon" href="./img/logo/logo-ftn-16x18.jpg" />

<!-- Stylesheets & Fonts -->
<link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,800,700,600|Montserrat:400,500,600,700|Raleway:100,300,600,700,800" rel="stylesheet" type="text/css" />
<link href="./css/plugins.css" rel="stylesheet">
<link href="./css/style.css" rel="stylesheet">
<link href="./css/responsive.css" rel="stylesheet">

<!-- Template color -->
<link href="./css/color-variations/orange.css" rel="stylesheet" type="text/css" media="screen">
</head>

谁能告诉我哪里犯了错误?

1 个答案:

答案 0 :(得分:1)

您引用CSS'位置错误。 ./表示您要从当前“文件夹”或当前路径中加载css内容。如果您打开“example.com/post/123”,浏览器会尝试从“example.com/post/123/css/style.css”加载CSS。

改为将您的路径更改为/,这意味着CSS将从“example.com/css/style.css”加载。

另外:这与您使用的PHP框架无关。