カテゴリー
WordPress

XREAのCatchAllについて。

 どうも,体調のすぐれない一週間だ。急に寒くなったせいなのかもしれないが,久しぶりに胃痛が激しかった。リタイアしてから,めったと痛むこともなかったのに……
 ピロリ菌の治療をしてからずいぶん経つので,もしかしたら彼らが復活しているのかもしれない。10月のいつもの通院でちょっと確認してみようと思う今日この頃だ。せっかく涼しくなって,食事もおいしくなってきたはずなのに,そう感じられないって損だよねぇ。

 りりさんからコメントが入ったので,返事を書いていたんだが,長くなってきたので別記事として書くことにした。書くことって,CatchAllの話くらいしかないが,他のレンタルサーバはどうなっているのかなと思っていた点でもあるので,立てておけばどこかから情報が得られる可能性もあるという期待で。ちと,さもしいかしらん。

 りりさんは,Xserverでのネットワーク(マルチサイト、複数サイト)の構築に手こずってられるらしい。WordPressの日本語Codexのネットワークの作成のサーバ要件のところには,

  • サブディレクトリ型サイト
    .htaccess ファイルを読み込めるサーバの mod_rewrite 機能を用いて動作します。
  • サブドメイン型サイト
    ワイルドカードサブドメインを用いて動作します。Apacheでこれを有効にし、DNSレコードにワイルドカードサブドメインを追加する必要があります。(設定方法は手順2を参照のこと)
    と書いてあって,手順2では,

    1. webサーバ(例としてはApacheだけしか上がっていないが)で
      httpd.conf fileか自分用のバーチャルホスト・エントリーで
           ServerAlias *.example.com
      を付け加えてワイルドカードを有効にせよ。
    2. DNSレコード設定でAレコードとして
           A *.example.com
      を付け加えてサブドメインでのランダム文字列を有効にせよ。

    が書いてある。

  • 注意として,
    1. サーバ側でワイルドカード設定済みのホストであれば、自分で行なうのはDNSレコードの追加のみです。
    2. 共有サーバは対応していないかもしれません。この機能を有効にする前に、自分のウェブホストを確認してください。

    と書いてあるんだが,この辺どうなんだろうか。

 Xserverのこの辺の説明を読んだところ,Xreaとの違いはCatchAllの機能がないことのようだ。XreaのCatchAll機能というのは,*.example.comにあったアクセスをすべてdefaults.example.comにまとめる機能で,ここに集まったアクセスをWordPresstが.haccessのrewriteディレクティブで各ユーザに割り振ってやっているようだ。Xreaのhttpd.conf やバーチャルホスト・エントリーがどうなっているかは,私には全然わからないのだが,共有サーバで単純にCodexに書いてやっているようなことだけしかしていなかったら,違反者の管理が大変だろうから,いろいろとこまごましたことがあるんだろう。
 ところで,CatchAll機能というのはメールサーバでは聞いたことあるけど,レンタルサーバのこの手の機能の呼び名としても一般的なんですか。ググってみても,他ではあんまり出てこないようですが。

 XserverのDNSレコードについてを読むと,*.xserver-sample.comのAレコードは設定できるようになっている。しかし,*はなんでもいいわけだから,ここにアクセスされたものをすべてWordPressがインストールされている/public_htmlにアクセスさせる必要があるが,これができないようだ。サブドメインの使い方を読むとそうなっている。ここで,サブドメインを設定するとそれ用のディレクトリが勝手にできてしまう。この点は,CatchAllの機能を使わない場合のXreaでも同じだが,Xserverの場合これをFTPで削除しても,CatchAll機能が使えないとだめなんだろうなぁ。できたサブドメイン用のディレクトリを全部削除し,下のデフォルトのDNS設定を*.xserver-sample.comのAレコード以外全部削除しても,機能してくれないかな。まぁ,その辺の設定は,安全を考えてきっちりやっているだろうから,無理かなという気もする。

     ホスト名 種別 内容 優先度
     xserver-sample.com A xxx.xxx.xxx.xxx  
     www.xserver-sample.com A xxx.xxx.xxx.xxx  
     xserver-sample.com MX xserver-sample.com 0
     *.xserver-sample.com A xxx.xxx.xxx.xxx