我想知道这种设置是否可行,因为我在设置时遇到了很多麻烦。我正在尝试建立一个文件结构如下的网站:
父“project1”文件夹位于D:\ Projects \ project1中的“server1”上。
可通过虚拟目录“http://server1/project1”访问该网站。
我希望能够以'/style.css'格式编写包含,图像srcs,样式表等的所有路径,以便无论在何处需要它们都可以找到这些文件。例如。以下链接应该有效,无论它放在'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,但我无法确定如何强制执行此操作。
答案 0 :(得分: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>');