みなさん < こん??は でび です
# TS的でない話題かもしれませんが、技術的に信頼できる人が
# 集っている適切な場所を他に知りませんので、お許し下さい。
共有サーバ(たぶんApache2.x)のドメインエイリアスの設定申請中です。
その後の.htaccessでの切り分け分岐に、どの環境変数を用いる
べきか、ちと混乱しています。
# 共有サーバなんでシェルは使えませんし…。
そんなわけで、Apacheの環境変数、ちと教えて下さい。
従来は、例えばhttp://www.example.netとhttp://www.example.jp
の2つのサーバで運用していたとします。
そして、新しくhttp://www.example.orgを立ち上げたとします。
従来のサイトの内、example.netの契約サーバを来月解約予定。
但しexample.netドメインそのものは維持し、example.jpに
ぶら下がるものとしてドメインエイリアスを申請中。
DNSはexample.netについてもexample.jpと同一のものを割り当てます。
んで、example.jpを置いているサーバに.htaccessを設置して、
1:example.netで要求された場合は、example.jpの中身は一切見せずに、
そのまんまexample.orgへ向かってpermanentでRedirectしたい。
2:ipアドレスで要求された場合はexample.jpの中身を表示。
3:example.jpで要求された場合は、当然、example.jpの中身を表示。
こんなふうにしたいわけです。
なお、http://www.example.net、http://www.example.jp、
http://www.example.orgのいずれもサブドメインの運用はありません。
example.netのドメインを取得したレジストラが、バーチャルドメイン
とか振り替えサービスをやっていれば、それをそのまま利用すれば
良いのでしょうけれども、どうもそういう機能は無いようなので、
苦肉の策です。
DOCUMENT_PATHを使うと、たぶんDefineが帰ってくると思うんですね。
すると、この場合、
RewriteEngine On
RewriteCond %{???}
RewriteRule ^(.*) http://www.example.org/ [R=301,L]
を使うとして、???部分で切り分けに用いる環境変数には
HTTP_HOST、SERVER_NAMEのどちらかを使えば良いのでしょうか。
それともHOSTNAMEか、REQUEST_URIかなぁ・・・????と。
“クライアント側が要求”した「http:以下のURI」で切り分ける、
って場合、どれが適切なのか、判断しかねています。
仕様が知らない間にどんどん拡張されているようで、微妙な違い
がありそうで、わけわかんないです。
# 実装でも違ってくるんだろうなぁ。
でび http://davi.txt-nifty.com/1984/