Сделать виртуальный каталог Apache из содержимого zip-файла - PullRequest
2 голосов
/ 07 декабря 2011

У меня есть несколько сжатых zip-файлов со статическим содержимым HTML (например, дерево каталогов документации с несколькими статическими html-страницами, связанными друг с другом, изображениями, css и т. Д.). Например, zav-файл javadoc служит в качестве эквивалентный пример для моей цели.

У меня вопрос: есть ли модуль apache, который позволил бы apache «смонтировать» zip-файл как виртуальный каталог, содержимое которого совпадает с содержимым zip-файла. Операционная система, в которой я размещаю Apache, - Mac OS X Snow Leopard.

Ответы [ 3 ]

3 голосов
/ 07 декабря 2011

Существует zip файловая система для FUSE , которая поддерживается в OS X через проект MacFUSE .Это позволит вам смонтировать zip-файл с помощью команды mount, что позволит Apache или любому другому приложению получить доступ к его содержимому как к обычному каталогу.

У меня нет моего Mac под рукоймомент, так что я не могу на самом деле проверить это.

2 голосов
/ 30 декабря 2011

Мне неизвестны какие-либо существующие модули Apache для этого, но вы могли бы реализовать это, не касаясь внутренних компонентов Apache, добавив скрипт CGI, который обрабатывает доступ к архивам ZIP:

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

Это заставит ziphandler.cgi вызываться для всех обращений к .zip файлам или (что более важно!) К файлам в "каталогах" в файлах .zip. Оттуда все должно быть довольно просто.

0 голосов
/ 06 апреля 2015

Используя 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. Вы можете сделать это даже для одного подкаталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...