【问题标题】:Make / link to the different directory VHost, PHP MVC制作/链接到不同的目录VHost,PHP MVC
【发布时间】:2013-01-06 04:31:34
【问题描述】:

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

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

现在如果我在视图文件夹下创建一个索引文件并添加:

    <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" />

这是我试图避免的

【问题讨论】:

    标签: php apache directory-structure vhosts


    【解决方案1】:

    如果您只想更改图像的基本路径,那么您也许可以使用&lt;base&gt; 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/

    【讨论】:

    • 太好了,这正是我所需要的,现在我可以为不同的项目定义不同的 VirtualHost 根路径了吗?说 Project_2
    • @GGi - 是的。每个虚拟主机定义都有自己的 DocumentRootServerName - 因此您可以将它们设置为您想要的任何内容!
    • @ggi - 很高兴为您提供帮助!快乐编码! :)
    猜你喜欢
    • 2012-09-05
    • 2020-11-10
    • 2019-08-18
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 2019-07-02
    相关资源
    最近更新 更多