myphp
  |—style
  |    |—index.css
  |    |—header.css
  |—coding_rules
  |       |—modern
  |       |     |—m_coding.php
  |       |—led
  |       |   |—l_coding.php
  |—index.php
  |—header.phpindex.php
<html>
<head>
   <title></title>
   <link href="style/index.css" rel="stylesheet" type="text/css">
</head>
<body><?php include("header.php");?></body>
</html>m_coding.php
<?php include("../../header.php"); ?>header.php  这里有logo和导航菜单
<html>
<head>
   <title></title>
   <link href="style/header.css" rel="stylesheet" type="text/css">
</head>
<body>
  <div><ul>
     <li><a href="index.php">首页</a></li>
     <li><a href="coding_rules/modern/m_coding.php">MODERN</a></li>
      .......
  </ul></div>
</body>
</html>现在在首页点击导航菜单中的MODERN,在打开的页面中没有任何的样式,也没有logo图片,我想应该是路径调用的问题,但没想到好的解决办法,还望四海朋友多多指教!
PHPHTML路径

解决方案 »

  1.   

    全部路径都应以主文件为base
    被include的文件内部的图片等等都要从其主体文件计算路径
    因为include可以视作引入未运行代码(类似一个复制过程),而不是引入代码的结果
      

  2.   

    在做 web 应用时,你必须记得你是在和两套路径在打交道
    1、include 使用的是操作系统的路径,从文件系统的根算起
    2、html 属性 href、src 使用的是 web 系统路径,从网站的根算起对于你的应用,需要
    <link href="/style/header.css" rel="stylesheet" type="text/css">
    即样式表要从网站的根处开始