2011-08-01 22 views
0

我有用戶想在自己的主目錄下運行他們自己的Symfony項目,但是我無法讓Symfony正常工作。在我的Apache2配置文件,我設置用戶目錄爲:Symfony 1.4在Apache下的userdir下

的UserDir sfproject /網絡

但DocumentRoot的必須是:

在/ var/WWW/sfproject /網絡

此要求因爲當我們將代碼部署到生產環境時,我們不想更改Apache配置文件。一切都將在該目錄下。

的問題是,當我們去到一個用戶目錄:dev.server.com/~asdf

的Symfony提供了一個404錯誤:解析URL「的index.php」後清空模塊和/或行動(/)。

我不明白什麼是錯的。我們希望他們在他們的主目錄中看到他們的個人項目。我看了一些其他人在共享主機環境中設置Symfony,但這不是共享主機環境。這是一個專用的服務器,我有根。感謝您的幫助。這裏是我的Apache配置的相關部分:

UserDir sfproject/web 

<Directory "/usr/share/php/data/symfony/web/sf"> 
    AllowOverride All 
    Allow from All 
</Directory> 

<VirtualHost *> 
    DocumentRoot "/var/www/sfproject/web" 
    DirectoryIndex index.php 

<Directory "/var/www/sfproject/web"> 
    AllowOverride All 
    Allow from All 
</Directory> 

    Alias /sf /usr/share/php/data/symfony/web/sf 
    <Directory "/usr/data/symfony/web/sf"> 
    AllowOverride All 
    Allow from All 
    </Directory> 
</VirtualHost> 
+0

你可以發佈你的虛擬主機配置嗎? –

回答

0

我認爲類似下面的東西更接近解決方案。

<VirtualHost *> 

    DocumentRoot "/var/www/sfproject/web" 
    DirectoryIndex index.php 

    <Directory "/var/www/sfproject/web"> 
    AllowOverride All 
    Allow from All 
    </Directory> 

    # or is the dir /usr/share/php/data/symfony/data/web/sf ? 
    Alias /sf /usr/share/php/data/symfony/lib/vendor/symfony/data/web/sf 
    <Directory "/usr/share/php/data/symfony/lib/vendor/symfony/data/web/sf"> 
    AllowOverride All 
    Allow from All 
    </Directory> 

</VirtualHost> 

我想你的摘錄的路徑看起來不太好。試試看,讓我們知道它是否有效。