ドメイン名リダイレクトシステムのキーテクノロジーは、Webページのリダイレクト(リディレクトリ)を実現することです。本質的に、ドメイン名リダイレクト システムは仮想マシン システムとはまったく異なります。仮想ドメイン名と仮想マシンの IP の間には 1 対 1 の対応関係があります。ドメイン名リダイレクト システムでは、ドメイン名と IP を 1 対 1 でマッピングする必要はありません。つまり、複雑なドメイン名解決メカニズムや仮想マシンを必要とせず、*.yourdomain をリクエストすると、ブラウザーが HTML ページを保存する実際のアドレスにリダイレクトされます。
ドメイン名リダイレクト システムを段階的に実装してみましょう:
(ドメイン名が www.mydomain.com で、ホスト アドレスが 196.0.0.1 であると仮定します)。
まず、*.mydomain.com がホスト アドレス 196.0.0.1 を指すように DNS を設定する必要があります。 (独自の DNS サーバーをお持ちでない場合は、この手順をスキップして、ドメイン名サービス プロバイダーに連絡して、*.mydomain.com を 196.0.0.1 に指定するよう依頼してください)
win2000 の DNS 管理ツールでは、直接指定するホスト名 * を入力すると、win2000DNS 管理ツールで *.mydomain.com を同じ IP アドレスに直接指定することができないことを意味します。ただし、winntsystem32dnsmydomain.dns ファイルを変更することでこれを実現できます。このファイルはテキスト形式で保存されており、ワードパッドから開くことができます。
最後に * A 196.0.0.1 のレコードを追加する必要があります。
WIN2000のDNS管理ツールでサーバーデータファイルを更新します。 mydomain.com ドメインに、直接追加できなかった追加のホスト「*」があることがわかります。 (注: DNS 設定は数時間後まで有効になりません。)
このドメイン名リダイレクト システムを複数のプラットフォームで実行するには、プログラム部分を作成するために php+mysql を選択します。サーバーには php と mysql がインストールされています。
index.htm を使用して、ブラウザーから送信された HTTP ヘッダー情報を読み取り、それを dns.php に送信してリダイレクト アドレスを取得し、クライアントに返します。
mysqlデータベースmydomainを作成します
CREATE TABLE dns (
main char(60),
link char(255)
)
mainは*.mydomain.comの*部分を保存するために使用されます
linkはリダイレクトアドレスを保存するために使用されますドメイン名に対応します。
index.htm:
<script> を作成します <br>this.location="dns.php?url="+this.location.href; <br></script>
なぜ php の GetAllHeader() を使用しないのかと尋ねる友人もいます。ブラウザから送信されたHTTPヘッダ情報を取得する関数です。 GetAllHeader() 関数は Apache Web サーバーのみをサポートしているため、ほとんどの win2000 ユーザーは iis サーバーを使用していると思います。互換性の問題を考慮して、ブラウザから送信された HTTP ヘッダー情報を読み取るために JavaScript を使用することにしました。
dns.php ファイルを作成します:
$domain="mydomain.com" //ドメイン名
$database="mydomain" //データベース
$datauser="root" //データベース ユーザー