2015-12-15 82 views
0

我正尝试使用网络文件夹之外的资产并收到404错误消息。我有位于www根文件夹中的资产文件夹(/ js,/ css,/ images),我尝试将这些文件夹符号链接到我的symfony web文件夹中。我试图在我的apache配置中为每个配置创建一个别名,但是这也不起作用。这些资源在多个项目中共享,我希望不要复制这些资源。Symfony2共享/外部资产

这可能符号链接资产文件夹/文件到symfony web文件夹?我敢肯定,简单的答案是将资产重做symfony做事的方式,但这些都是遗留资产,仍然需要保持原有状态。

我的当前设置是ezpublish5安装在传统模式下一个流浪汉开发环境,在Windows 7

回答

0

运行,则可以把任何类型的,你想成为公开访问到web/目录中的文件。

它们将相对于该目录可访问,例如,如果你有一个文件web/legacy/css/oldstuff.css,它将在www.example.com/legacy/css/oldstuff.css访问。

手动符号链接到另一个也应该工作。但是,请确保您的链接指向正确的位置,尤其是在部署之后。

+0

我将每个文件夹的符号链接添加到web中。所以有一个/web/css/style.css,在我的模板文件中我有/css/style.css。也许这个问题存在于ezpublish/symfony2或我的虚拟主机配置设置中。如果我改变环境以在.conf文件中生成,我得到了css + js文件的渲染,但没有任何图像。如果我在开发环境,那么我什么也得不到。我已经运行了所有的资产转储等。 – raupie

+0

另一个可能的麻烦原因可能是您的web服务器配置。也许你有一些破碎/过时的重写规则或什么。 – lxg

0

我能够通过更新我的虚拟主机apache重写规则来获取/ web/css,/ web/js和/ web/images文件夹中的文件。

#RewriteCond %{ENV:ENVIRONMENT} "prod" 
#RewriteRule ^/(css|js)/.*\.(css|js) - [L] 

RewriteRule ^/css/ - [L] 
RewriteRule ^/js/ - [L] 
RewriteRule ^/images/ - [L] 

所以这个工作。我不确定是否有更好的方法,或者当我开始将遗留代码重构为树枝模板时,这会对symfony资产管理产生负面影响。我的旧模板没有利用树枝资产标签,而是标准的HTML src包含。