これは、HTTPステータスコードについて教える良い機会になります。 HTTP 1.1仕様のstatus code definitions sectionを読んでください。第10.3項「Redirection 3xx」では、質問に関連するステータスコードについて説明します。 HTTP 3xxコードを知っているということは、意図したセマンティクスを正確に持つレスポンスを送信できることを意味します。たとえば、へのリダイレクトを常ににする場合は、HTTP 301、「Moved Permanently」を使用できます。理論的には、クライアントはHTTP 301レスポンスを古いURLの代わりに新しいURL値を格納するシグナルとして使用できます。
Dreamhostの設定オプションは、隠された.htaccessファイルに多くのApache Webサーバー設定ディレクティブを指定することができるため、思うように制限されません。このファイルは、Webドキュメントディレクトリに配置する必要があります。あなたの例を使って、ルートWebドキュメントディレクトリの/home/midas/codinghorror/に配置しますが、.htaccessファイルはApacheが提供する任意のディレクトリに置くことができます。 (ファイル名に先頭のドットを含むことを覚えておいてください)。その内容は既に述べたmod_aliasの例またはmod_rewriteの例のいずれかになります。
mod_aliasのRedirectPermanentディレクティブは、HTTP 301ステータスコードを送信することに注意してください。あなたは、コードなし[R]を使用している場合
RewriteEngine on
RewriteRule ^$ /blog/ [R=301]
、その後、HTTP 302(「一時的に移動」)が使用されている:あなたがこれを行うにはmod_rewriteを使用したい場合は、ステータスコードを指定することができます。
PHPも利用可能ですので、これもオプションですが、上記の.htaccessを使用するオプションは高速かもしれません。 index.phpというファイルを/home/midas/codinghorror/に置き、上記のJeremy Rutenによって与えられたコードを使用します。再び、あなたが)(ヘッダ第3引数にステータスコードを指定することができる:
<?php
header('Location: http://www.codinghorror.com/blog', TRUE, 301);
?>
そうでない場合、HTTP 302ステータス応答を送信する「場所」デフォルトでPHPのヘッダ()関数を使用して。
私はDreamhostユーザーではなく、彼らの知識ベースはサブスクライバだけなので、提供するものは何もわかりません。彼らはApacheを実行していますか? .htaccessファイルを置くことができますか?どのようなサーバー側のプログラミング言語がありますか? – Guss