从 zip 文件的内容创建 Apache 虚拟目录
我有几个包含静态 HTML 内容的压缩 zip 文件(例如,文档的目录树,其中包含多个相互链接的静态 html 页面、图像、css 等)。例如,javadoc zip 文件可作为以下示例的等效示例:我的目的。
我的问题是,是否有一个 apache 模块允许 apache 将 zip 文件“挂载”为虚拟目录,其内容就是 zip 文件的内容。我托管 apache 的操作系统是 Mac OS X Snow Leopard。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
zip 文件系统 .net/" rel="nofollow">FUSE,在 OS X 上通过 支持MacFUSE 项目。这将允许您通过 mount 命令挂载 zip 文件,从而允许 Apache(或任何其他应用程序)像普通目录一样访问其内容。
我现在手头没有 Mac,所以无法实际测试它。
There is a zip filesystem for FUSE, which is supported on OS X via the MacFUSE project. This will let you mount a zip file via the
mount
command, thus allowing Apache -- or any other application -- to access its contents as a normal directory.I don't have my Mac handy at the moment so I can't actually test it out.
我不知道任何现有的 Apache 模块可以执行此操作,但您可以通过添加处理 ZIP 档案访问的 CGI 脚本来实现它,而无需触及 Apache 内部:
这将使 ziphandler.cgi 被调用用于对
.zip
文件的所有访问,或者(更重要的是!)对.zip
文件下“目录”中的文件的访问。从那里开始,它应该非常简单。I'm not aware of any existing Apache modules to do this, but you could implement it without touching Apache internals by adding a CGI script which handles access to ZIP archives:
This will make
ziphandler.cgi
get called for all accesses to.zip
files, or (more importantly!) to files in "directories" under.zip
files. From there, it should be pretty straightforward.使用 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。您甚至可以只对一个子目录执行此操作。Using proxy_http you can forward requests to Jetty which will serve any ZIP file.
Download Jetty Runner from here: http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-runner
You can run it using e.g.
java -jar jetty-runner-9.3.0.M2.jar --port 8082 myZIPFile.zip
. Now set up Apache to forward requests to localhost:8082. You can do that for even only one subdirectory.