2012-04-09 102 views
2

我在Ubuntu 11.10下遇到了Zend Framework的一個奇怪問題。我使用筆記本電腦作爲我的編程環境,在上傳到我的主服務器之前測試一些事情。我下載並安裝了Zend Framework並創建了一個新項目。去localhost.project時,一切正常。Ubuntu 11.10下的Zend Framework:虛擬服務器發生內部服務器錯誤

問題是,當我然後嘗試建立一個虛擬服務器,所以我可以去project.localhost,並以同樣的方式看到它(我知道這不是至關重要的,但我想要的) 。我通過訪問/ etc/apache2/sites-available並在其中創建一個新的虛擬主機來設置虛擬主機。如果我將documentRoot和whatnot設置爲/ var/www/project/public,則會出現內部服務器錯誤。更奇怪的是,如果我將其設置爲/ var/www/project,我可以看到所有的目錄 - 應用程序,文檔,庫,測試 - 但沒有公開。我不知道爲什麼會發生這種情況。

我正在使用全新安裝的Ubuntu 11.10,並且我使用tasksel來安裝LAMP服務器。這應該是工作 - 它與我的VPS很好 - 但事實並非如此。

編輯:這裏是虛擬主機的文件:

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName project.localhost 

DocumentRoot /home/moi/web_docs/project/public 
<Directory /> 
    Options All 
    AllowOverride All 
</Directory> 
<Directory /home/moi/web_docs/project/public> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
<Directory "/usr/lib/cgi-bin"> 
    AllowOverride None 
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
    Order allow,deny 
    Allow from all 
</Directory> 

ErrorLog ${APACHE_LOG_DIR}/error.log 

# Possible values include: debug, info, notice, warn, error, crit, 
# alert, emerg. 
LogLevel warn 

CustomLog ${APACHE_LOG_DIR}/access.log combined 

Alias /doc/ "/usr/share/doc/" 
<Directory "/usr/share/doc/"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride All 
    Order deny,allow 
    Deny from all 

Allow from 127.0.0.0/255.0.0.0 ::1/128 
    </Directory> 

</VirtualHost> 
+1

看看日誌在'/無功/日誌/的Apache2 /'。可能它只是你虛擬主機中的錯誤設置,例如'AllowOverride All'沒有設置。 – dbrumann 2012-04-09 17:03:07

+0

@mahok完美答案,這是正確的。 – drew010 2012-04-09 17:54:26

+0

我得到的錯誤是:/home/moi/web_docs/project/public/.htaccess:無效的命令'RewriteEngine',可能拼錯或由未包含在服務器配置中的模塊定義。 – blainarmstrong 2012-04-10 14:22:00

回答

5

您必須啓用Apache的重寫模塊:

sudo a2enmod rewrite 
sudo service apache2 restart 
+0

美麗!很好地解決了這個問題。謝謝! – blainarmstrong 2012-04-10 23:34:06