2011-08-22 195 views
0

在介紹了/ etc/apache2的/網站可用/默認情況下, 我的Apache2設置使我的網站的配置是這樣的:Symfony2的資產資源路徑

Alias /new/ "/var/www/symfony/web/" 
Alias /new"/var/www/symfony/web/" 
<Directory "/var/www/symfony/web"> 
    AllowOverride All 
    Order allow,deny 
    Allow from xxx.xxx.xxx.xxx 
</Directory> 

而且我已經啓用的Apache2重寫模塊。

當我訪問www.example.com/new/app.php, 的資源加載正常(CSS,JavaScript和圖像)。 生成的源代碼幾乎是這樣的:

<link href="/new/css/main.css" ..... /> 
..... 

但是,當我訪問www.example.com/new, 的資源無法加載。 當我查看源代碼,它幾乎是這樣的:

<link href="/css/main.css" ..... /> 
..... 

螢火蟲說:

www.example.com/css/main.css - 404 Not Found 
www.example.com/images/logo.jpg - 404 Not Found 
..... 

我該怎麼辦?

+1

你爲什麼這樣做?爲什麼不使用標準的虛擬主機配置? – Flukey

+0

給我一個鏈接? 我使用這個,因爲這是之前我曾經使用過的配置。 – Kiddo

+0

我們使用www.example.com/new而不是www.example.com/,因爲我們已經有一個運行www.example.com的網站,並且它不是基於symfony2的。所以我們決定嘗試symfony2並將它發佈到www.example.com/new。 – Kiddo

回答

0

/web目錄添加.htaccess文件用下面的代碼:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    # Explicitly disable rewriting for front controllers 
    RewriteRule ^app_dev.php - [L] 
    RewriteRule ^app.php - [L] 

    RewriteCond %{REQUEST_FILENAME} !-f 

    # Change below before deploying to production 
    #RewriteRule ^(.*)$ /app.php [QSA,L] 
    RewriteRule ^(.*)$ /app_dev.php [QSA,L] 
</IfModule> 

如果仍然不工作,你可以使用標準的虛擬主機配置,看看到VirtualHost Examples在Apache網站。

對於資產問題,請參閱Asset management documentation

我希望這個幫助。