2006.01.01 いと インデックスリスト表示スクリプト indexlist.cgi 【前準備】 1. Webサーバで Perl CGIが実行可能であること。 2. デフォルトインデックスに index.cgiが設定されていること。 【インストール、実行】 1. 下記の URLから indexlist100.lzh をダウンロードする。 http://homepage1.nifty.com/yito/anhttpd/indexlist.html 2. 上記のファイルを解凍すると以下のファイルが同梱されている。 indexlist.cgi index.cgi readme.txt 3. ドキュメントルート下の適当なディレクトリに indexlistディレクトリを 作成し(CGIが実行可能なこと)、そこに indexlist.cgiファイルを置く。 4. 以下のURLにアクセスし、インデックスリストに indexlist.cgi自身が 表示されることを確認する。 http://127.0.0.1/〜/indexlist/indexlist.cgi 5. indexlist.cgiは上記のディレクトリの下のままでも構わないし、他の適当な 場所に移動しても構わない(必ずしもドキュメントルート下である必要はない)。 6. index.cgiファイルの中の requireの後の indexlist.cgiがあるローカルパスを この上で indexlist.cgiを置いたパスに変更する。 7. インデックスリストを表示したい全てのディレクトリ下に上記で変更した index.cgiファイルをコピーする。 8. inex.cgiを置いたパスに以下のようにアクセスし、インデックスリストが 表示されることを確認する。下位にもディレクトリがあれば試してみる。 http://127.0.0.1/〜/ 【注意事項】 (1) 初期状態のファイル名の表示順は、単純に Perlのソートを使っているので 英大文字と英小文字が区別され、頭が大文字のものの後に小文字のものが続く。 JavaScriptのソートでは英大文字を英小文字に変換しているので、大文字と 小文字が混在した順になる。 (2) 十分な確認をしたわけではないが、Webサーバソフトに依存せず動作すると思う。 ただし、IISは特殊な世界のようであり、改造しないと動作しない。筆者には IISを頑張る意味がないので手出ししないことにする。 (3) UNIX/Linux上でも動作するのではないかと思う。文字コードを EUCにし、 meta 行を Shift_JIS -> euc-jp に変更し、改行コードや perlのパスなど 基本的なところは押さえることは当然である。Niftyには CGI実行用専用サーバが あり、そこでは CGI以外のファイルにはアクセスできないので本スクリプトを 動作させる意味は全くないが、(Solaris 8 + Zeusでの)動作確認はできた。 (4) indexlist.cgiファイルを index.cgiというファイル名に変更し、インデックス リストを表示したいディレクトリ下の全てに置くことでも目的は達成できるが、 その場合には、もし indexlist.cgiが変更になったときには全てのファイルを 書き換えなければならないという手間になるのでお勧めではない。 (5) *.cgi, *.php, *.exeなどの CGIファイルを含むディレクトリのインデックス リストを表示しないことは基本である。exeファイルをダウンロードしたい場合には、 exeファイルがCGIとして実行される設定になっていないことの確認が必須である。 設定方法はサーバ毎に異なるので自分が使っているサーバについて確認のこと。 【本プログラムについて】 ・フリーソフト。著作権は作者にあります。 ・商用利用可 ・再配布自由 ・改造自由 ・使用は自己責任 【改版履歴】 ・2006.01.01 v1.00 公開 以上