0

我真的很想如何使用 '.jar"-Files 作为类型映射文件,而不是使用Content Negotiation的标准 ".var"-files 。

好吧,这是我的配置:

<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立即从根目录传递。

4

1 回答 1

1

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

于 2012-02-02T17:13:36.013 回答