从 zip 文件的内容创建 Apache 虚拟目录

发布于 2024-12-20 05:12:52 字数 225 浏览 3 评论 0 原文

我有几个包含静态 HTML 内容的压缩 zip 文件(例如,文档的目录树,其中包含多个相互链接的静态 html 页面、图像、css 等)。例如,javadoc zip 文件可作为以下示例的等效示例:我的目的。

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

I have a couple of compressed zip file with static HTML content (e.g. a directory tree of documentation with several static html pages that link to each other, images, css, etc.) For instance, the javadoc zip file serves as an equivalent example for my purpose.

My question is, if there's an apache module that would allow apache to "mount" a zip file as a virtual directory, whose contents are those of the zip file. The operating system in which I'm hosting apache is Mac OS X Snow Leopard.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十二 2024-12-27 05:12:52

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.

知你几分 2024-12-27 05:12:52

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

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

这将使 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:

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

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.

£噩梦荏苒 2024-12-27 05:12:52

使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文