2012-02-02 88 views
0

我真的想如何使用”的.jar‘-files类型映射文件,而不是标准的’.VAR“使用Content Negotiation -files。使用的.jar类型映射文件

那么,这是我的配置:

<Directory "${APACHE_PROJ}/htdocs/foo"> 
    AddType application/x-java-archive .jar 
    AddHandler type-map .var 

    <Files *.pack.gz> 
    AddEncoding pack200-gzip .jar 
    RemoveEncoding .gz 
    </Files> 

</Directory> 

...运作良好,并从子文件夹按照预期投放与foo.var

URI: foo 

URI: packed/foo.jar.pack.gz 
Content-Type: x-java-archive 
Content-Encoding: pack200-gzip 

URI: unpacked/foo.jar 
content-type: x-java-archive 

重命名文件foo.varfoo.jar和昌如果配置为AddHandler type-map .jar不起作用,则会立即从根目录传送foo.jar

回答

1

如果没有某种形式的类型映射(当前是.var),让浏览器/服务器协商确定可以使用哪些.jar文件的变体,它只会抓住第一个找到的.jar并提供服务。作为Apache的.jar文件的缺省处理程序是为它提供服务,在添加类型映射处理程序以根据需要读取它之后,必须使用RemoveHandler .jar,但这会禁止根据需要提供文件。