2016-02-26 70 views
0

我在Ubuntu機器上配置了Zend2網站。 項目路徑:/var/www/zf2/沒有虛擬主機的Zend2

虛擬主機配置:

<VirtualHost *:80> 
ServerName zf2.localhost 
DocumentRoot /var/www/html/zf2/public 
SetENV APPLICATION_ENV "development" 
<Directory /var/www/html/zf2/public/> 
DirectoryIndex index.php 
AllowOverride All 
Order allow,deny 
Allow from all 
</Directory> 
</VirtualHost> 

訪問 「本地主機/ ZF2」 列表中的目錄中的文件。無論如何訪問這個zend2網站沒有虛擬主機,即localhost/zf2? 我已經嘗試通過在/var/www/html/zf2中添加.htacess,但它沒有改變。任何幫助將不勝感激!

+0

爲什麼不使用mod_rewrite將localhost/zf2的所有請求發送到localhost/zf2/public,這是網站的根? –

回答

0

的問題不是很清楚,但如果你問如果有可能有人不使用zf2.localhost主機訪問您的網站ZF,隨後的因爲你已經將它設置的方式,(和你應該改變這一點)。

默認情況下,Ubuntu上的Apache將本地主機設置爲指向/var/www/html/。因此,通過將ZF2應用程序置於其子文件夾中,可以讓某人通過訪問您的ZF應用程序(包括文檔根目錄之外的文件)。本地主機。這是您應該修復的潛在安全漏洞。只需將您的ZF2應用程序移動到不在/var/www/html(例如/var/www/zf2)之內的其他文件夾,您就不會遇到此問題。

另請注意,如果您使用的是相當新的Ubuntu版本,您將運行Apache 2.4,並且您的虛擬主機設置不正確。看到第二個例子:http://framework.zend.com/manual/current/en/ref/installation.html#apache-setup

+0

是的,我想訪問我的Zend 2站點而不使用虛擬主機(zf2.localhost),即只需轉到localhost/zf2。 目前我的zend2駐留在/ var/www/html/zf2中,可通過虛擬主機zf2.localhost訪問。 –