创建/链接到不同的目录VHost,PHP MVC

时间:2013-01-22 20:07:41

标签: php apache directory-structure vhosts

我正在尝试创建自己的MVC。我的文件夹结构如下:

 localhost (root, htdocs)
   - Project_1
     - images
       - test.jpg
     - App
       - Controllers
       - Models
       - Views
     - Classes

现在,如果我在views文件夹下创建索引文件并添加:

    <img src="/images/test.jpg" />

这不会加载test.jpg,因为/指向localhost (root/htdocs)文件夹而未指向Project_1

我的问题是我需要做些什么来使/指向Project_1目录而不是root,我知道它必须对VHosts做一些事情但不幸的是我不知道任何教程会解释问题。

任何想法/建议或教程链接将不胜感激。谢谢

注意: 我不想做以下事情:

  define('ROOT', '/localhost/Project_1/');

然后像

一样使用它
  <img src="<?=ROOT?>images/test.jpg" />

这就是我试图避免的事情

1 个答案:

答案 0 :(得分:0)

如果您要做的只是更改图像的基本路径,那么您可以使用<base> HTML元素。

  

Taken from MDN -
  HTML元素指定用于文档中包含的所有相对URL的基本URL。

至于PHP的一面,你明确驳回的选项可能是最好的方式 - 定义一个指向正确路径的常量 -

define('ROOT', '/localhost/Project_1/');

如果您想进入虚拟主机的设置,那么您将能够直接从虚拟主机的定义设置文档根目录。这是一个简单的例子 -

<VirtualHost *:80>
    DocumentRoot /var/www/localhost/Project_1/
    ServerName Project_1.com
</VirtualHost>

在此虚拟主机中,您的$_SERVER['DOCUMENT_ROOT']现在为/var/www/localhost/Project_1/