ZF2 - 使用Apache的AliasMatch合并资产

时间:2014-07-27 13:15:20

标签: php apache zend-framework2 apache2 apache2.2

我有一个ZF2应用程序的以下应用程序结构:

myapplication
 -->config
 -->data
 -->module [This directory is empty, as all my modules are in the vendor dir]
 -->public
    -->.htaccess
    -->index.php
 -->vendor
    -->Module1
       -->assets
          -->css
          -->js
          -->images
       -->config
       -->src
       -->view
       -->Module.php
    -->Module2
       -->assets
          -->css
          -->js
          -->images
       -->config
       -->src
       -->view
       -->Module.php
    -->Module3
       -->assets
          -->css
          -->js
          -->images
       -->config
       -->src
       -->view
       -->Module.php

正如您所看到的,我所有的资产文件都在其自己的模块中组织得很好。但是,我希望使用以下URL访问任何资产:

http://myapplication/css/xyz.css

http://myapplication/js/xyz.js

http://myapplication/images/xyz.jpg

我怎样才能做到这一点?我发现最简单的方法是在我的vhost中使用aliasmatch apache指令。 但是,我无法正常工作..

AliasMatch /(css|js|images)/(.*) C:/Users/myapplication/vendor/[MODULE_NAME]/assets/$1

由于

1 个答案:

答案 0 :(得分:1)

我认为您不应该重写以实现此目的,因为您要使用的每个资源都要求可以通过zf2中的public文件夹访问它们,但您的模块是"外部& #34;这个公用文件夹。

这就是为什么改写不起作用的原因。

所以你要么创建自己的模块来处理资产请求,要转到每个模块资产文件夹并通过public传递它,或者你可以查看这个存储库https://github.com/RWOverdijk/AssetManager你。