|
||||||||
XREAでは独自ドメイン・サブドメインなどの合計設定数が20個までです。
CGIを使って行う方法は、ちょっとあれこれ使い方と説明が面倒なので、
・独自ドメイン これは私が当時使っていたドメインです。 現在の所有者とは一切関係ありません。
■手順メニュー
ちょっとでもわかる人なら上のメニューを見ただけで自分でできるはずです。
必要に応じて設定変更と、簡単な理屈がわかれば初心者でもすぐ可能です。 ■ 1.DNS設定でワイルドカードにする
独自ドメインを利用してる方のみの設定確認と変更です。バリュードメイン側の独自ドメインのDNS設定で
a @ 000.000.000.000
の様になっている場合、
a * 000.000.000.000
とする事で、全ての呼び出しがサーバーに向きます。※IPに関してはサーバー毎に違うので000.000.000.000としてあります 独自設定をしてない場合は セレクトボックスで自分のサーバー番号を選ぶだけで
a * 000.000.000.000
となり、全ての呼出がサーバーまで通ります。mx @ 10 txt @ v=spf1 ip4:000.000.000.000 ~all この状態にしてください。 ■ 2.default を使って全てを受け取る
defaultと言うのは、
それより前の設定で設定の無い全てのサブドメインを受け取れる特殊なサブドメイン名です。
サブドメイン無しの状態は受け取れません。現在、独自ドメインでサブドメインを使っている場合や 提供サブドメインでサブサブドメインを使っている場合は、 それらすべのてリストより下に、この default と言うサブドメイン名の設定を入れます。 例: 独自ドメイン artemis.ac 提供サブドメイン abc.xrea.jp それぞれ、既にサブドメイン名、サブサブドメイン名を利用してるとします。 ◆今までの状態を残して、追加で無限サブドメイン利用にする場合 (今までのコンテンツの変更をせずに済みますからこちらを推奨) ◆今までの状態も含め全てを無限サブドメイン利用にする場合 (今まで使っていたサブドメインのコンテンツ内の書換えが必要になる) ◆私ならメインは通常の方法、それ以外を無限サブドメインの方法にします。 ■ default 用のディレクトリを用意する どの場合も、通常の設定に従い新しく設定した default.********** 用に その名と同じディレクトリをpublic_html直下に作ります。 上の例であれば
public_htmlの中(下)に
default.abc.xrea.jp default.artemis.ac と言う名前のディレクトリを作ります。 これで、設定に無いサブドメイン(サブサブドメイン)での呼び出しは、 全て default のディレクトリ内のコンテンツが呼び出される事になります。 ■ 3.各サブドメイン専用ディレクトリを作って振り分ける
ここから先は、自分の管理のしかた1つの世界です。例(サンプル)として default.artemis.acを使って説明します。 独自ドメインの方はこれを自分の独自ドメインに置き換えて考えてください。 提供サブドメインの、サブサブドメインとしてこの方法を使う場合は、自分の借りてる提供サブドメインとこれを置き換えて考えてください。 ◆ [ default.artemis.ac ] 直下は空き家にする 設定されて無い全てのサブドメインが呼び出された場合 全てこの default.artemis.ac というディレクトリ内のファイルが呼び出されます。 例えば http://aaa.artemis.ac/ http://bbb.artemis.ac/ http://ccc.artemis.ac/ どの呼び出し方をされても、default.artemis.acディレクトリ内の インデックスファイル(通常index.html)が呼び出される事になります。 しかし、この部分はどのサブドメイン名で呼び出される可能性もあるので、 利用しないようにして何もファイルを置かず403Fobiddenにしておくか、 空のindex.htmlを置いておきます。 ◆ [ default.artemis.ac ] 直下に各サブドメイン専用ディレクトリを作る 直下にはファイルを置かない状態にして、ここに自分が利用するサブドメイン名専用の運用ディレクトリを作り、 自分の中で決まり事にします。 例えば http://aaa.artemis.ac/ → ディレクトリ aaa http://bbb.artemis.ac/ → ディレクトリ bbb http://ccc.artemis.ac/ → ディレクトリ ccc ※このディレクト名は自分でルールを決めてください。 それぞれなんでもOKですが、サブドメイン名と同じにすると整理しやすい。 これらのサブドメイン毎の呼び出しを専用利用するには
aaa.artemis.ac を利用する時は
この様に本来の最上層である default.artemis.ac を使わず、
1階層深い場所を別々の呼び出し専用のホームディレクトリとして使い分ける事で、
それぞれのサブドメインアドレスで呼ばれたコンテンツを自分のルールに則って表示させる事ができます。http://aaa.artemis.ac/aaa/ をホームディレクトリと考えて、 全てこのaaaの中や下層にコンテンツを置き、常に http://aaa.artemis.ac/ では無く http://aaa.artemis.ac/aaa/ をこのサブドメイン付呼び出しアドレスの最上層として利用します。 同じ様に bbb.artemis.ac を利用する時は http://bbb.artemis.ac/bbb/ をホームディレクトリと考えて、 全てこのbbbの中や下層にコンテンツを置き、常に http://bbb.artemis.ac/ では無く http://bbb.artemis.ac/bbb/ をこのサブドメイン付呼び出しアドレスの最上層として利用します。 ここで疑問が残ると思います。例えば、 http://aaa.artemis.ac/bbb/ でも、 呼び出しのサブドメイン名に関係なくbbb.artemis.ac用の bbbディレクトリのコンテンツが表示されてしまうと言う事。 これに関しては、リンクや画像などの場所で 何処にも書かれていないアドレスが、いちいち探される事は無いので気にしなくて大丈夫です。 わざわざ、何処にも書かれていないアドレスをテストする人もいるでしょうが、 これは気にするほどの事ではないと思っています。 以上で、初心者でもごく簡単に無限数のサブドメインを運用できます。 ■ 4.htaccessで 専用コンテンツ化する
前項3の最後の部分の疑問点http://aaa.artemis.ac/bbb/ でも、bbb.artemis.ac 用のコンテンツが見えるのを防ぐ為に、各専用ディレクトリに .htaccessを置いて制御をしてしまいます。 例えば aaa.artemis.ac専用ディレクトリには
SetEnvIf HOST "^aaa\.artemis\.ac$" throughpass
Order Deny,Allow Deny from all Allow from env=throughpass これで、各専用コンテンツが呼び出された時のリクエストのホスト名までそろわないと、アクセス拒否する事ができます。 この例では aaa.artemis.ac以外の場合は拒否されます。
■ 5.別の方法で 専用コンテンツ化する
4の方法で何らかの問題が出る場合などは、各ファイル側で対処する事も可能です。
ただし、ファイルがPHPである必要があるので画像ファイル等はhtaccessを使うか、PHP経由で排出するようにするなどの工夫をしなければいけないですね。http://aaa.artemis.ac/bbb/ でも、 呼び出しのサブドメイン名に関係なくbbb.artemis.ac用の bbbディレクトリのコンテンツが表示されてしまうと言う件。 これを全てのHTMLファイルをPHPファイル化させて回避させる事ができます。 ◆手順1 .htaccess ファイルを置く あとの手順で行いますが全てをPHPファイルにします。 従ってディレクトリ名で呼ばれた時のディレクトリンデックスファイルも、 index.html ではなく、 index.php となります。 XREAサーバーは標準で 、 index.php ファイルが登録されていないと思うので、 これを 、 .htaccess ファイルを置いて登録します。 置く場所は、default を受け入れる一番上のディレクトリ、 前述までの例であれば default.artemis.ac 直下 です。 ファイル名 .htaccess はwindows上では拡張子のみと判断されて作れません。 適当なテキストファイルを作りアップロードして、 .htaccess に変更してください。 記述する内容は次の1行だけで良いです。
DirectoryIndex index.php index.html index.htm
既に.htaccessファイルが用意している場合は、この一行 または index.phpをDirectoryIndexのリストに加えてください。◆手順2 共通エラードキュメント default を受け入れる一番上のディレクトリ、 前述までの例であれば default.artemis.ac 直下 に、 404.php と言うファイルを置きます。 これは、IE以外のブラウザで 404 NotFoundを確実に表示する為の物です。 全ての場所で同じ物を使えるので、ここに設置します。 ファイルの内容は
<?php
echo <<<EOF <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <HTML><HEAD> <TITLE>404 Not Found</TITLE> </HEAD><BODY> <H1>Not Found</H1> The requested URL {$_SERVER['REQUEST_URI']} was not found on this server.<P> <P>Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. </BODY></HTML> EOF; ?> ◆手順3 全てのHTMLファイルをPHPファイルに変更 各サブドメイン呼出専用ディレクトリ(例:aaa)の中に置く HTMLファイルの拡張子をすべて .php に変更します。 phpに変更しても普通にHTMLファイルとして表示されます。 全てのPHPファイル(中身のHTMLソース)の最上段(DOCTYPE宣言より上)に次の内容を書きこみ、 必要な箇所を自分のドメイン名、サーバーアカウントに合わせて変更します。 上に空行などを開けず必ず0行目から書き込んでください。
<?php
if($_SERVER['HTTP_HOST'] != 'aaa.artemis.ac'){ header("HTTP/1.0 404 Not Found", true, 404); include('/virtual/サーバーアカウント/public_html/default.artemis.ac/404.php'); exit; } ?> aaa.artemis.acの部分 そのファイルが呼び出される、サブドメイン付のドメイン名です。 bbb.artemis.ac で使用する bbb より下層にあるファイルの場合はココを bbb.artemis.ac に変えます。 サーバーアカウントの部分 この行は内部絶対パスの指定ですので、サーバーアカウント名をココに入れます。 default.artemis.ac 全サブドメインを受け取る一番上のディレクトリ名です。 完了 これで、本来 http://bbb.artemis.ac/bbb/ で呼び出され閲覧できるファイルを http://aaa.artemis.ac/bbb/ で呼び出すと、エラードキュメントが呼び出され404 NotFound (ファイルがありません) と表示されるようになります。 PHPのheaderに関しては、多分 正しく サーバーステータスコード 404を返してくれると思いますので、 万一 予定外のアドレスで検索ボットなどがアクセスしてくる事があっても、無い物として扱われると思います。 ま、使わないアドレスを突然ボットが調査しに来る事は無いと思いますけど。 ・XREA・CORE サーバーについて ・ユーザー登録〜アカウント取得〜契約〜DNS設定まで ・サーバー基本設定と応用編(ケーススタディ) ・XREAで無限サブドメイン ・その他の疑問・質問 ・XREA・COREサーバーでMovableType4を設置 |
専用ページから申し込むと So-netより高い3万円CB
案ずるより産むが易し
使ってみれば疑問も解決 XREA+ (plus) 206円/月 ( お試し7日間 ) CORE SERVER 428円/月 ( お試し15日間 ) ロリポップ 270円/月 ( お試し期間10日間 ) ヘテムル 1620円/月 ( お試し期間15日間 ) さくら 129円/月 ( お試し期間2週間 ) |
|||||||