2012-09-17 71 views
2

我已經將我的Symfony應用程序推送到了我的服務器上(Ubuntu 12.04,blog.dck.me),當我繼續時,沒有任何問題,但是當您嘗試閱讀文章時,你有一個404錯誤,然後如果你在網址的第一個地方添加app.php,它會起作用!Symfony2 vhost不重定向到app.php

這不是一個規則問題,我修復了這個文件夾的777。 我清除了prod緩存。 我用php應用程序/控制檯路由器檢查了路由:debug --env = prod,沒關係我有所有的路由。 我查很多,很多添我的虛擬主機,當我改變的DirectoryIndex到app_dev.php,頁面打印一個JavaScript警告,指示「工具欄無法加載」 ..

我的虛擬主機:

<VirtualHost *:80> 
ServerName blog.dck.me 
DocumentRoot /var/www/blog/web 
DirectoryIndex app.php 
<Directory "/var/www/blog/web"> 
    DirectoryIndex app.php 
    Options -Indexes FollowSymLinks SymLinksifOwnerMatch 
    AllowOverride All 
    Allow from All 
    </Directory> 
</VirtualHost> 

我希望你會有更多的想法。

謝謝。

回答

0

很多次後,我創辦的解決方案!問題出在我的username.conf(/ etc/apache2/users)中,在這個文件中缺少關鍵字「FollowSymLinks」。

<Directory "/Users/DCK/Sites/"> 
    Options FollowSymlinks Indexes Multiviews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 
0

修改您的vhost文件後,您是否重新啓動您的網絡服務器?

例如,爲Apache,

sudo apachectl graceful 
+0

是的,每次修改後。 – DCK

+0

/var/www/blog/web中是否有.htaccess文件?如果是這樣,你可以在這裏粘貼它的內容嗎?我會檢查確認它沒有覆蓋你的DirectoryIndex指令。 –

1

是的,有:

<IfModule mod_rewrite.c> 
RewriteEngine On 
#<IfModule mod_vhost_alias.c> 
    #RewriteBase/
#</IfModule> 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ app.php [QSA,L] 
</IfModule> 
4

如果www.sitename.com/app.php工作那麼它是不是Symfony和您的虛擬主機的問題沒關係。 也.htaccess是好的,你不需要設置DirectoryIndex app.php

你檢查mod_rewrite啓用?試試這個控制檯上:

apachectl -t -D DUMP_MODULES | grep rewrite 

,如果您還沒有結果,那麼你需要啓用它添加行的httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so 
+0

我有:語法OK。如果我刪除DirectoryIndex,該頁面將位於Web視圖文件夾中 – DCK

相關問題