创建.htaccess后的Filepathes

时间:2015-12-18 10:57:17

标签: php .htaccess relative-path

创建.htaccess受保护的 admin 目录后,我遇到了文件路径问题。 这是文件夹的结构: enter image description here

file-controller4.php 最初位于 file-controller3.php 文件旁边的目录的 root 位置view4.php 位于视图目录中。 要从 file-controller4.php 调用 header.php ,我使用 set_include_path

问题是标题不再调用 css 文件,这似乎与admin目录相关。

以下是不同的文件:

管理员文件夹: file-controller4.php

    <?php

    set_include_path ( 'E:/xampp/htdocs/url/' );


    include '/view/header.php';
    include '/admin/file-view4.php';

文件view4.php

    <h1>This is a title</h1>

根文件夹:

文件controller3.php

    <?php
    include '/view/header.php';
    include '/view/file-view3.php';

查看文件夹:

文件view3.php

    <h1>This is a title</h1>

的header.php

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <!--<meta charset="utf-8"></meta>-->
    <meta http-equiv="Content-Type" content="text/html;" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>
    <meta name="viewport" content="width=device-width, initial-scale=1"></meta>

    <title>A TEST</title>

    <link rel="stylesheet" type="text/css" href="css/css-example.css" ></link>

    </head>

css文件夹:

CSS-example.css

    html, body {
        margin: 0;
        padding: 0;
    }
    body {
        background-color: white; 
        font-family: Verdana, sans-serif; 
        font-size: 100%;
    }
    h1 {
        font-size: 200%; 
        color: navy; 
        text-align: center;
    }

如何从file-controller4加载CSS,就像它正确使用file-controller3一样?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以检入header.php REQUEST_URI并检测脚本的位置 - 在主文件夹或管理员中。然后构建CSS的URL。

 <?php
 if (strpos($_SERVER["REQUEST_URI"], "admin") !== false) {
   $css_prefix = "../";
 } else {
   $css_prefix = "";
 }
?>
<link rel="stylesheet" type="text/css" href="<?php echo($css_prefix); ?>css/css-example.css" ></link>

但最佳和正确的方法是更改​​应用程序的逻辑并在文件夹file-controller3.php内移动admin