.htaccess组合文件

aWe*_*per 4 .htaccess

我发现以下htacess允许从特定的js文件中连接

<FilesMatch "\.combined\.js$">
  Options +Includes
  AddOutputFilterByType INCLUDES application/javascript application/json
  SetOutputFilter INCLUDES
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

例如,你可以在script.combined.js里面

 < !--#include file="libs/jquery-1.5.0.min.js" -->
 < !--#include file="plugins/jquery.idletimer.js" -->
Run Code Online (Sandbox Code Playgroud)

它们将被包含在这个单独的文件中.

我想知道.htaccess的这两行2 n 3如何组合文件.

这些已经在几个系统上工作,但在我的ubuntu 12.04和Apache 2.2.22上它们不起作用.为什么?

Ant*_*los 5

第一行启用包含两种mime类型的SSI(服务器端包含):application/javascriptapplication/json

第二行SetOutputFilter INCLUDES处理包含的文件,然后输出它们,但仅限于正则表达式路径中包含的文件"\.combined\.js$",基本上执行第一行所做的操作,但它是备份.

你错过了一个关键的Option旗帜.这就是Options +Includes启动包含开始.这可能就是为什么它不能在其他服务器上运行

我希望你不要在那之后包括那个空间<,这是一个错字,因为如果我没有弄错的话,肯定不会对任何版本的apache起作用.它应该没有空格如下:

<!--#include file="libs/jquery-1.5.0.min.js" -->
<!--#include file="plugins/jquery.idletimer.js" -->
Run Code Online (Sandbox Code Playgroud)

您还需要mod_include在Apache httpd.conf中启用模块.http://httpd.apache.org/docs/2.2/mod/mod_include.html

LoadModule include_module modules/mod_include.so

我很确定你从HTML5-Boilerplate .htaccess获得了这段代码

https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess#L887-L917