Symfony 2 - 直接访问 public 资产
Symfony 2 - Access public asset directly
我的 /web 文件夹中有一个名为 "cdn" 的文件夹,我想授予 public 访问其中 javascript 文件的权限(基本上,它是一个小书签) .我不想使用控制器来提供文件,而是让服务器直接提供文件。
我怎么能在 Symfony 2 中做到这一点? (PS 我也在用 assetic)
提前致谢,
罗曼
您可以随时使用直接 URL。 "end-asset" aka www.domain.com/path/relative/to/web/asset.img 从不由应用程序提供,而是由服务器提供。
因此,无论您使用哪个网络服务器,都可以直接访问该资产。
您可以通过在配置中使用 assets_base_urls
定义 public 文件夹的根目录来使用不同的目录:
app/config/config.yml:
templating:
assets_base_urls: "%assets_base_urls%"
这将使用在特定上下文中定义的值:
app/config/config_dev.yml:
parameters:
assets_base_urls: "http://localhost/.../cdn/"
app/config/config_prod.yml:
parameters:
assets_base_urls: "http://cdn.example.com/"
这个 URL 应该指向您服务器上的一个目录,例如/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
我的 /web 文件夹中有一个名为 "cdn" 的文件夹,我想授予 public 访问其中 javascript 文件的权限(基本上,它是一个小书签) .我不想使用控制器来提供文件,而是让服务器直接提供文件。
我怎么能在 Symfony 2 中做到这一点? (PS 我也在用 assetic)
提前致谢, 罗曼
您可以随时使用直接 URL。 "end-asset" aka www.domain.com/path/relative/to/web/asset.img 从不由应用程序提供,而是由服务器提供。
因此,无论您使用哪个网络服务器,都可以直接访问该资产。
您可以通过在配置中使用 assets_base_urls
定义 public 文件夹的根目录来使用不同的目录:
app/config/config.yml:
templating:
assets_base_urls: "%assets_base_urls%"
这将使用在特定上下文中定义的值:
app/config/config_dev.yml:
parameters:
assets_base_urls: "http://localhost/.../cdn/"
app/config/config_prod.yml:
parameters:
assets_base_urls: "http://cdn.example.com/"
这个 URL 应该指向您服务器上的一个目录,例如/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