2

我有几个带有静态 HTML 内容的压缩 zip 文件(例如,一个文档目录树,其中包含几个相互链接的静态 html 页面、图像、css 等)。例如,javadoc zip 文件用作我的目的。

我的问题是,是否有一个 apache 模块允许 apache 将 zip 文件“挂载”为虚拟目录,其内容是 zip 文件的内容。我托管 apache 的操作系统是 Mac OS X Snow Leopard。

4

3 回答 3

3

FUSE有一个zip 文件系统,通过MacFUSE项目在 OS X 上得到支持。这将允许您通过命令挂载一个 zip 文件,从而允许 Apache——或任何其他应用程序——将其内容作为普通目录访问。mount

我现在手边没有我的 Mac,所以我实际上无法测试它。

于 2011-12-07T18:18:59.337 回答
2

我不知道有任何现有的 Apache 模块可以执行此操作,但您可以通过添加处理对 ZIP 档案访问的 CGI 脚本来实现它,而无需触及 Apache 内部结构:

Action zip-archive /cgi-bin/ziphandler.cgi
AddHandler zip-archive .zip

这将ziphandler.cgi调用对.zip文件的所有访问,或者(更重要的是!)对文件下“目录”中的.zip文件的访问。从那里开始,它应该非常简单。

于 2011-12-30T05:36:49.820 回答
0

使用proxy_http,您可以将请求转发到 Jetty,它将为任何 ZIP 文件提供服务。

从这里下载 Jetty Runner:http: //mvnrepository.com/artifact/org.eclipse.jetty/jetty-runner

您可以使用例如运行它java -jar jetty-runner-9.3.0.M2.jar --port 8082 myZIPFile.zip。现在设置 Apache 将请求转发到 localhost:8082。您甚至可以只对一个子目录执行此操作。

于 2015-04-06T01:17:37.457 回答