2013-01-22 47 views
0

我試圖創建自己的MVC。我的文件夾結構如下:使/鏈接到不同的目錄VHost,PHP 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目錄而不是根目錄,我知道它必須做些什麼VHosts,但不幸的是我不知道任何教程,可以解釋這個問題。

任何想法/建議或指導教程鏈接將不勝感激。謝謝

注意: 我不想做到以下幾點:

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

,然後使用它像

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

這是林試圖避免

回答

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/

+0

非常好,這是我需要的,現在我可以爲不同的項目定義不同的VirtualHost根路徑了嗎?說Project_2 – GGio

+0

@GGi - 是的。每個虛擬主機定義都有它自己的'DocumentRoot'和'ServerName'--所以你可以將它們設置爲任何你想要的! – Lix

+1

非常感謝你,幫助我很多 – GGio

相關問題