1

我想知道这种设置是否可行,因为我在设置时遇到了很多麻烦。我正在尝试建立一个具有如下文件结构的网站:

  • 项目1(文件夹)
    • 索引.php
    • 样式.css
    • 包含.php
      • 管理员(文件夹)
        • 索引.php

父“project1”文件夹位于 D:\Projects\project1 中的“server1”上。

该网站通过虚拟目录“ http://server1/project1 ”访问。

我希望能够以“/style.css”格式编写包含、图像 src、样式表等的所有路径,以便无论在哪里都可以找到这些文件。例如,无论是放在“project1”文件夹还是“admin”文件夹中,以下链接都应该可以工作:

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

编辑:正如mellamokb 所建议的,使用 href="/project1/style.css" 似乎适用于两个 'index.php' 文件。但是我似乎无法为 PHP INCLUDE 找到类似的解决方案。

如果我用这个...

<?php include_once '/include.php'; ?>

...在两个 index.php 文件中,admin目录中的文件都找不到该文件。

我希望$_SERVER['DOCUMENT_ROOT']返回 "D:\Projects\project1" 但它返回 D:\staging 我不知道为什么。我尝试了几种设置项目“root”的不同方法,但我最终让自己更加困惑!项目的虚拟根目录应该是“ http://server1/project1 ”,物理根目录应该是 D:\Projects\project1,但我不知道如何强制执行此操作。

4

1 回答 1

1

您可以创建一个包含常量的文件并因此拥有一些东西define('BASE_URL', "http://server1/project1/")。然后你可以使用常量变量相对地工作BASE_URL

<link rel="stylesheet" type="text/css" href="<?php echo BASE_URL; ?>style.css">

您还可以通过附加“相对”地址来处理其他文件。

include (BASE_URL . '<file you want to add>');
于 2013-01-08T17:42:46.637 回答