【发布时间】:2012-12-22 14:32:24
【问题描述】:
我想知道这种设置是否可行,因为我在设置时遇到了很多麻烦。我正在尝试建立一个具有如下文件结构的网站:
-
project1(文件夹)
- index.php
- style.css
- include.php
-
管理员(文件夹)
- index.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,但我不知道如何强制。
【问题讨论】:
-
admin的虚拟目录路径是什么?如果 admin 是http://server/的虚拟子目录,则根相对路径/style.css应该可以工作。 -
'admin' 只是一个子文件夹 - 我需要将其设置为单独的虚拟目录吗?
-
如果您导航到
http://server1/project1/admin/index.php,浏览器将对/style.css的引用解析为http://server1/style.css,这似乎是正确的。你试过这个有问题吗? -
是的,如果我导航到
http://server1/project1/admin/index.php,firefox 会返回错误——GET http://server1/style.css [HTTP/1.1 404 Not Found 0ms]错误是正确的,因为'style.css' 位于http://server1/project1,而不是http://server1/跨度> -
哦。然后使用
/project1/style.css,或者将资源文件放在一个普通的虚拟文件夹中,比如/resources/style.css。
标签: php sql sql-server-2005 iis-6