2011-12-07 15 views
1

静的なHTMLコンテンツを含む圧縮されたzipファイルをいくつか持っています(例えば、相互にリンクするいくつかの静的なHTMLページ、画像、CSSなどのドキュメントのディレクトリツリー)例えば、javadoc zipファイルは、私の目的のための同等の例として役立ちます。Apache仮想ディレクトリをzipファイルの内容から作成する

私の質問は、apacheがzipファイルをzipファイルの内容である仮想ディレクトリとして「マウント」できるようにするapacheモジュールがある場合です。私がApacheをホストしているオペレーティングシステムは、Mac OS X Snow Leopardです。

+0

なぜファイルを解凍しないのですか? –

+0

Netbeansアプリケーションが実行されているときにNetbeansが起動する内部Webサーバーでブラウズできるように、Netbeansが圧縮形式で使用するjavadoc zipファイルがあります。しかし、私がNetbeansを開いていないとき、私はこれを使うことはできません。私はapacheで同じことを達成したいと思っていました。私はもちろんそれを解凍することができましたが、これは可能でなければならないと考えました。静的なhtmlページの巨大なジップを持つことは非常に効率的ですが、そうしなければ効率を上げずにはるかに多くのディスクスペースを占有します。 – Ernesto

答えて

2

zip filesystemがあります。これはMacFUSEプロジェクトでOS Xでサポートされています。これにより、mountコマンドでzipファイルをマウントできるようになり、Apacheまたは他のアプリケーションがその内容を通常のディレクトリとしてアクセスできるようになります。

現時点で私のMacは便利ではありませんので、実際にテストすることはできません。

+1

...私はMacFUSEプロジェクトが現時点では維持されていないようだが、 – larsks

2

私はこれを行うには、既存のApacheモジュールを認識してないんだけど、あなたはZIPアーカイブへのアクセスを処理するCGIスクリプトを追加することにより、Apacheの内部に触れることなく、それを実現することができます。

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

これはziphandler.cgiを行います.zipファイルへのすべてのアクセスが呼び出されるか、または(もっと重要なのは).zipファイルの「ディレクトリ」のファイルへのアクセスが呼び出されます。そこから、それはかなり簡単なはずです。

+0

私はそのようなことを実現する時間があれば、それは新しい経験であるので私は興奮するだろう。しかし、私はApacheモジュールを開発したことはありませんし、これほど遠くにフェッチされていないので、すでに利用可能な実装があると思いました。残念ながら私はまだ何も見つかりませんでした。 – Ernesto

0

proxy_httpを使用すると、ZIPファイルを配信するJettyにリクエストを転送できます。ここから

ダウンロード桟橋ランナー:http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-runner

あなたは、例えば使用してそれを実行することができますjava -jar jetty-runner-9.3.0.M2.jar --port 8082 myZIPFile.zip。次に、要求をlocalhost:8082に転送するようにApacheを設定します。あなたは1つのサブディレクトリですらできます。

関連する問題