Bon Voyage! HOME > TINY TIPS ON WEB MAKING > HOW TO NAME?


誰も教えてくれなかったささやかなHTMLテクニック
3. 

ファイル名とディレクトリ名の付け方


ファイル名とディレクトリ名は、どう決めるのか?

誰も教えてくれなかったコツのひとつが、名前の付け方。ファイル名には拡張子をつける、ということは当たり前として、いったいどういう名前がいいのか? なんでもいい、といえばそうだが、実は、ちょっとしたコツがあるんだわさ。

ディレクトリ名だけでアクセスできるファイル名

サーバの設定によりますが、ディレクトリ名/ までで、アクセスできるファイル名があります。ASAHI-NETの場合では

index.html

がそうです。つまり、私の「Bon Voyage!」ではURLは

http://www.asahi-net.or.jp/~qh8t-knym/

でトップページにアクセスできますが、実はこれは

http://www.asahi-net.or.jp/~qh8t-knym/index.html

というファイルのURLのうち、最後のファイル名を省略してもいい、ということなのです。(ところで、URLは順に サーバ名/ディレクトリ名(複数の場合もあり)/ファイル名 ということは、いいですよね?)

さて、当然ひとつのディレクトリにindex.htmlはひとつだけですが、さらにディレクトリを新設すればその限りではありません。そのことに私は気づかなかったのです。

/travel/traveltop.html
/fumina/fumina.html
/book/bookmenu.html
/movie/movietop.html
/gang/gang.html

これは、私の「Bon Voyage!」のなかのコーナーそれぞれのトップページのディレクトリとファイル名です。いかに不統一で節操がないかがおわかりでしょう。実は、これはディレクトリごとに

index.html

でよかったのです。

/travel/index.html
/fumina/index.html
/book/index.html
/movie/index.html
/gang/index.html

と、こういうファイル名にすれば、それぞれのURLは

http://www.asahi-net.or.jp/~qh8t-knym/travel/
http://www.asahi-net.or.jp/~qh8t-knym/fumina/
http://www.asahi-net.or.jp/~qh8t-knym/book/
http://www.asahi-net.or.jp/~qh8t-knym/movie/
http://www.asahi-net.or.jp/~qh8t-knym/gang/

という風に最後のファイル名を省略できるのです。これは、ゆくゆくは各コーナーをサイトへと独立させる構想をもっていた私にはショックでした。URLは短いにこしたことはないからです。まあ、URLの問題はフリーのリモートURLの活用という手もありますので、また別に考えることにしたのですが。

この場合、もうひとつ問題があります。各ディレクトリにindex.htmlが存在しない場合に http://・・・/ディレクトリ名/ で終わるURLにアクセスすると、そのディレクトリ内にある全ファイル名を表示しますので、もしも隠しページがあってもバレてしまいます。セキュリティ面では、空ファイルでいいから、すべてのディレクトリにindex.htmlという名前のファイルを置いた方がいい、と言われています。

ディレクトリに分けた方がいいのか?

さて、実はファイル名をつけるときには、ディレクトリに分割するかどうか、ということを考える必要があります。サーバ(プロバイダとか大学とかの)によっては下層にディレクトリを設けることができない場合もあります。ファイル数が少ないときにはディレクトリがない方がカンタンです。(ディレクトリに分けない場合には、当然すべて違うファイル名をつける必要があります。)

ディレクトリに分ける利点は、サイト管理が整理しやすいことにあります。私のように、コーナーが乱立して自分でも混乱しかかっている場合には必須です。もうひとつは、ディレクトリの階層構造をどこまで掘り下げるか? という問題があります。

/travel/italia/milano/971201.html
「哀愁のヨーロッパ」「イタリア篇」「ミラノ旅行」「1997年12月1日」

という風に深くすることもできなくはありませんが、やたらURLが長くなります。階層構造を杓子定規に規定するとこういうことになります。企業のサイトにこういう例が多いですね。理系的にはスッキリしているのですが、個人のサイトではあまり実用的ではありません。

私の「哀愁のヨーロッパ」では、当初(今でもそうか)は画像の容量が大きく、全部をひとつのディレクトリに収めるのは無謀に思われたたため、早い時点で構成変更をして、一話ごとにディレクトリを作りました。現在、こうなっています。

/rain/rain.html
/endofcentury/endofcentury.html
/hundertwasser/hundertwasser.html
/2timesaday/2timesaday.html

ここでも、アホ丸出しです。まず、最後のファイル名はindex.htmlでいい。ディレクトリ名が長すぎる。「_」(アンダーバー)で区切ることを知らない。それはともかく、論理的には「travel」のディレクトリの下層ディレクトリになるべきところですが、アップロードの手間を考えて、/~qh8t-knym/の下につくるディレクトリは一層だけにしました。

問題1

実はこのころ、私はこの下層ディレクトリ内のファイルをアップロードするのに、ディレクトリごとアップロードしていたのですね。そのうちの画像ひとつとか、HTMLファイルの訂正とか、全部送らなくてもいい場合でも、とにかくディレクトリごと送っていたのは、Fetchのやり方をよく知らなかったからなのです。ああ、恥ずかしい。なので、さらにディレクトリを下にぶら下げてひとつのディレクトリが肥大化するのは避けたかったのです。ということで、ディレクトリを並列的に配置したわけさ。

問題2

画像ファイルだけをひとつのディレクトリにまとめて入れるというやり方もよく行われています。タイトルGIFとか、ナビゲーションボタンとか。よく「image」とか「GIF」とかいうディレクトリ名がついています。たぶん、HTMLソースを書くときに、画像のあるディレクトリが決まっていた方がいいんでしょうね。あるいはアップロードの負荷の問題か、ファイルの更新のしやすさか。よくわかりませんが。

さて、私はそういう通例をまったく知らなかったので、HTMLファイルも画像ファイルも、そのテーマのディレクトリに一緒に入っています。「世紀末の建築」の写真群は"/endofcentury/"のディレクトリに、endofcentury.htmlといっしょに入っています。これはこれで、いいと思っています。ひとつのまとまりごとになってるわけで、もしも将来ページを削除するときでも、ディレクトリごと削除すればいいし。

問題3

一話ごとにディレクトリをつくるということは、ディレクトリがとてもたくさんできてしまうということです。しかも、同じ階層に一列に。こういう場合にはいい手があります。ディレクトリの名前の最初の数文字を、同じテーマの群で共有することです。また、ナンバリングもよい方法です。

/AD_01-rain/
/AD_02-end/
/AD_03-hundert/

これは、それぞれ

「オーストリア・ドイツ篇/第1話/ウィーンは雨」
「オーストリア・ドイツ篇/第2話/世紀末の建築」
「オーストリア・ドイツ篇/第3話/ウィーンのガウディ・フンダートヴァッサー」

のディレクトリになります。これのよい点は、この順番で並んで表示されることです。また、ナンバリング以降の「rain」「end」「hundert」は区別をつけるという意味では不要ですが、これがあると内容を思い出せるので便利です。このくらいの長さなら許容範囲ですし、整理も楽です。

しかし、こういう名前の付け方に気づいたのがごく最近なんですよね。だから、まだ私のサイトのディレクトリ名は旧態依然としています。ひどいもんです。実際のオーストリア・ドイツ篇の各ディレクトリはバラバラに表示されてわかりにくいことおびただしい。ああ、誰か早く教えてくれていたら。

注意:ファイル名、ディレクトリ名に使える文字

英数字しか使えない、ということはわかっていても、つい入れてしまうのがスペースですが、これは不可です。間違ってスペース入りのファイル名でアップロードするとエラーになります。半角でも全角でもダメです。半角スペースが名前の冒頭に入っていると気づきにくいことがあります。気を付けましょう。「.」(ピリオド)で始まる名前もダメです。「/」(スラッシュ)を入れると、そこでファイル(ディレクトリ)名が終わったと認識されますから当然ダメです。「%」や「&」や「'」もダメです。「-」(ハイフン)と「_」(アンダーバー)あたりが無難なところでしょう。

余談ですが、「_」(アンダーバー)は日本ではあんまり普及していないので、手で入力する可能性のある場合には避けた方がいいかもしれません(新聞・雑誌などでのURL告知など)。

いいファイル名

1. 短い
2. 内容がすぐに想起できる
3. 他のファイルと区別しやすい
4. 同じグループが群をなして並ぶ

あたりが、条件でしょうか。普通名詞だと、「この名前って使ったっけ?」ということがときどき起こります(私だけかな?)。さらに、名詞を短く略すと、重複の危険が高まり、しかも自分で何を略したのか忘れるということもあります(これも私だけかも)。

たとえば数字をうまく使うと、区別はできます。順番もきれいに並びます。しかし、中身は何かがすぐにわかりません。というわけで、私は次のようにしています。

/movie/mov99apr.html

「映画/99年4月」ということなんですが、ファイル名にも「mov」と最初につけて、もしも保存先/アップロード先を間違えても、わかるようにしています(しかい、2000年になったら「mov00jan.html」になるのかな?)。また、これは個人的な好き嫌いですが、アルファベットと数字が交互になるパターンが好みだったりします。でも、こうすると、ファイルは旧→新ときれいに並びません。とりあえず、グルーピングはされていますが。というわけで、日記ではこうしました。

/diary99/99-03-01.html

「99年の日記/99年3月上旬」ってことなんですが。でも、味も素っ気もないですね。まあ、あんまり悩まずに
「テーマ名(グループごとに共通)/数字の順番」とすればいいのではないかと思います。でも、最初に少し考えるだけで、あとの手間がかなり違います。ファイル名/ディレクトリ名を変更すると、関連するリンクをすべて変更することになります。サイト管理ソフトを使っていないと、どこからリンクを張ったっけ? とけっこう頭を使います。それに、そのファイルに直接ブックマークしたり、リンクを張っている人のために「引っ越し通知」を旧ファイルに載せておく必要もあります。

例:旧サッカーコーナー /soccer/soccertop.html

ということで、自由なはずのファイル名も、工夫次第で楽になるのです。

このページのトップに戻る↑


1.

タイトルだってものを言う。

2.

他のサイトにフレームからリンクするときには。

3.

ファイル名とディレクトリ名の付け方。


Text by Takashi Kaneyama 1999