- domain.txt の記述方法に関する解説です。 domain.txt を編集する必要が無ければ、このページは読み飛ばしてかまいません。
- ● 概要
- ● サブドメインがつく場合の処理
- ● ワイルドカード
このプログラムには、ドメイン名の変換ルールを記したデータベース・ファイル( domain.txt )が添付されていますが、 これにまだ記載されていない変換ルールを入手した場合は、それを domain.txt に追加することで、 新ルールを変換操作に反映させることができます。
domain.txt の書式は以下の通りになっています。 見れば分かるとは思いますが、1行につき1ドメイン名ずつ記述していきます。domain.txt
# domain.txt 第 2 版
[Change]
firnet.or.jp firnet.ne.jp
justnet.or.jp justnet.ne.jp
sanynet.or.jp sanynet.ne.jp
......
......
[Unknown]
dpro.or.jp
www.raidway.or.jp
......
......
[NoChange]
aaanet.or.jp
aaa-int.or.jp
abnet.or.jp
......
......
[Expired]
aix.or.jp
- [Change] 以下 : 変換の必要なドメイン名。旧ドメイン名、新ドメイン名の順に並べ、両者の間にタブを一文字分はさみます。
- [Unknown] 以下 : 変換が必要だが、移行先のドメイン名が不明/一意に決められないもの。
- [NoChange] 以下 : 変換が不要なドメイン名。
- [Expired] 以下 : 廃止になり、移行先も無いドメイン名。
- なお、"#"(シャープ)から右、行末までの記述はコメントとみなされ、データ読み込み時には無視されます。
- 全く同じ旧ドメイン名を複数回(2 行以上にわたって)記述することはできません。
ドメインによっては、サブドメイン(第 4 ドメイン以降)の有無や種類によって 変換ルールの異なる場合があります。(a) www.dtinet.or.jp → www.mars.dti.ne.jpこの例では、"www" という第 4 ドメインの有無により、 "dtinet.or.jp" の変換結果が異なるわけです。 こうしたケースでは、 「旧ドメイン名にサブドメインが多くついているルールほど優先的に適用」されます。 例えば "mars.dtinet.or.jp" というドメイン名を変換する場合、 まず (a)ルールの旧ドメイン名とのマッチングを行ない、 次いで (b)ルールのそれとのマッチングを行ないます。 つまり結果として "mars.dti.ne.jp" となります。
(b) dtinet.or.jp → dti.ne.jp
なお、domain.txt における (a) と (b) の記述位置は特に気にする必要はありません。 (b) が (a) より先に記述されても良いです。
ドメイン名の変換ルール記述には、ワイルドカード "*" を使用できます。 (今のところ "?" は使えません。)(例)なおワイルドカードの使用に際しては、以下のルールが適用されます。
mx*.meshnet.or.jp → mx*.mesh.ne.jp
というルールを記述した場合、実際の変換結果は
mxe.meshnet.or.jp → mxe.mesh.ne.jp
mx666.meshnet.or.jp → mx666.mesh.ne.jp
mxhoge.meshnet.or.jp → mxhoge.mesh.ne.jp
といった感じになります。
- ワイルドカードは、1 文字以上の任意の文字列に対応します。
(例) foo*.hogehoge.or.jp は foo.hogehoge.or.jp にマッチしません。- ワイルドカードは、複数のサブドメインにわたっては使用できません。
(例) foo*.hogehoge.or.jp は fooa.hogehoge.or.jp にはマッチしますが、 fooa.pochi.hogehoge.or.jp にはマッチしません。- 新ドメイン名にワイルドカードが使われている場合は、 必ず旧ドメイン名にもワイルドカードが使われている必要があります。
- ワイルドカードは、第 1 〜 3 ドメインには使用できません。
(例) foo.hoge*.or.jp は第 3 ドメインに使用しているので不可。- 一つのドメイン名について、ワイルドカードは 2 回以上使えません。
(例) www*.foo*.hogehoge.or.jp は不可。- 最左翼のサブドメイン全体をワイルドカードにはできません。
(例) *.foo.hogehoge.or.jp は不可。- サブドメイン数が同じ場合は、ワイルドカードが使われていない方のルールが優先されます。
(サブドメイン数が異なる場合は、ワイルドカードの有無にかかわらず、 サブドメイン数が多いほうのルール優先となります。)