Symfony 2 - 直接访问公共资产

时间:2015-04-29 09:08:14

标签: symfony assets assetic

我有一个名为" cdn"的文件夹。在我的/ web文件夹中,我想公开访问那里的javascript文件(基本上,它是一个书签)。我不想使用控制器来提供文件,而是让服务器直接提供文件。

我怎么能在Symfony 2中这样做? (PS i'也使用资产)

提前谢谢你, 罗曼

2 个答案:

答案 0 :(得分:3)

您可以在配置中使用assets_base_urls定义 public 文件夹的根目录,从而使用其他目录:

应用程序/配置/ config.yml

templating:
    assets_base_urls: "%assets_base_urls%"

这将使用在特定上下文中定义的值:

应用程序/配置/ config_dev.yml

parameters:
    assets_base_urls: "http://localhost/.../cdn/"

应用程序/配置/ config_prod.yml

parameters:
    assets_base_urls: "http://cdn.example.com/"

此网址应指向服务器上的目录,例如/var/www/site/public/

您必须dump the assets到两个上下文中的相应目录才能将文件放到正确的目录中:

# dev
php app/console assetic:dump --env=dev .../cdn --no-debug
# prod
php app/console assetic:dump --env=prod `/var/www/site/public/` --no-debug

答案 1 :(得分:0)

您始终可以使用直接网址。 “end-asset”又名www.domain.com/path/relative/to/web/asset.img永远不会被应用程序服务,而是由服务器提供。

因此,您使用的任何网络服务器都会直接访问该资产。