2011-08-22 150 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

我希望这个帮助。