我发现以下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上它们不起作用.为什么?
第一行启用包含两种mime类型的SSI(服务器端包含):application/javascript和application/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