2012-03-27 13 views
1

私はDNS a/cnameレコードを介してドメインをそのサブドメインにリダイレクトする方法を探しています。DNSドメインをサブドメインにリダイレクト

これらの例をDNSで完全に行うことは可能でしょうか。.htaccessとPHPを使って簡単に行うことができます。

website.com => blog.website.com 
website.com/hello => blog.website.com/hello 
www.website.com => blog.website.com 
www.website.com/hello => blog.website.com/hello 

+0

DNSでCNAMEを使用できますが、ブラウザに表示されるアドレスは更新されません。 – Cfreak

+0

短い答えはいいえ、htaccessでmod-rewriteを見てください –

+0

cnameでwww.website.com/hello => blog.website.com/helloをどうやって行いますか? –

答えて

3

DNSはドメイン名とIPアドレスを関連付けるためのものです。 リダイレクトを使用することはできません。

Webサーバー側でリダイレクトを処理する必要があります。 apacheを使用している場合は.htaccessファイルか、header()関数を持つ単純なPHPスクリプトを使用するかどうかにかかわらず、訪問者に新しいアドレスを知らせるためにHTTP 301 Permanently movedを投げるだけでよい。

+1

ありがとう!私は今それを得る – ThomasReggi

+0

mod書き換えの例を手元に持っていれば変更できますか? – ThomasReggi

+0

はい、http://code.pobourgeois.com/V –

0

DNS(よく、A/CNAMEレコード)は、システムに「この一連の文字の対応するIPアドレスは123.456.789.000」と通知します。残りの部分は、そのIPのサーバまでです。

+0

AFAICT、あなたはAレコードについて正しいのですが、CNAMEレコードについては正しくありません。 – sampablokuper

2

DNSのCNAMEを使用して別の名前を別の名前と同じアドレスにポイントすると、両方のIPを簡単に変更できるようになります。 I.あなたのメールwwwとftpがすべて同じIP上にある場合は、IPを変更して1つだけ変更する必要がある場合は、1つを設定して最初の2つを指し示すことができます。

ただし、これはリダイレクトではありません。あなたのウェブページのいずれかまたは両方を使用する場合は、移動するとドメイン名は変更されません。それは他の手段によって達成されなければならない。基本的には、上記の301のPermanently Movedまたは302 Temporarily Movedを使用して行う必要があります。これは、Webサーバーまたはコードを使用して多数の方法で実行できます。

Apacheを使用している場合、通常はデフォルトで有効になっているmod_rewriteを見てください。これはあなたの設定や.htaccessにあなたが言及したように入ることができます。別のWebサーバーを使用している場合は、そのマニュアルを参照してください。

コードでは、リダイレクトを行うためにLocationヘッダーを送信できます。ほとんどの言語には、このプロセスで役立つライブラリがあります。

関連する問題