ユーザーが独自のドメイン名を使用して Web サービスにアクセスできるようにしたいと考えています。
たとえば、example.com/users/david にプロファイルを持つユーザーがいる場合、david が exampledavid.com を使用して自分のプロファイル ページにアクセスできるようにするにはどうすればよいですか。
ユーザーのアドレス バーに example.com が表示されるのではなく、david が exampledavid.com を表示するようにします。
ユーザーが独自のドメイン名を使用して Web サービスにアクセスできるようにしたいと考えています。
たとえば、example.com/users/david にプロファイルを持つユーザーがいる場合、david が exampledavid.com を使用して自分のプロファイル ページにアクセスできるようにするにはどうすればよいですか。
ユーザーのアドレス バーに example.com が表示されるのではなく、david が exampledavid.com を表示するようにします。
この問題は、URL の書き換えと HTTP ヘッダーの操作またはリバース プロキシで解決できます。
ディレクティブ ProxyPassReverse により、Apache は HTTP リダイレクト応答の Location ヘッダーの URL を調整できます。たとえば、Apache をリバース プロキシとして使用して、リバース プロキシの背後にあるバックエンド サーバーの HTTP リダイレクトが原因でリバース プロキシをバイパスしないようにする場合、これは不可欠です。
ローカル サーバーのアドレスがhttp://wibble.org/であるとします。それから
ProxyPass /mirror/foo/ http://foo.com/
ProxyPassReverse /mirror/foo/ http://foo.com/http://wibble.org/mirror/foo/barへのローカル リクエスト が内部的にhttp://foo.com/barへのプロキシ リクエストに変換されるだけではありません(ProxyPass がここで提供する機能)。サーバー foo.com が送信するリダイレクトも処理します。http://foo.com/bar がhttp://foo.com/quuxにリダイレクトされると、 Apache はこれを http://wibble.org/mirrorに調整します。 HTTP リダイレクト応答をクライアントに転送する前に、/foo/quuxを追加します。
Web アプリケーションの URL を簡単に置き換えて、ユーザーと検索エンジンに適した結果を生成します。URL Rewrite を使用すると、Web 管理者は、応答 HTML で Web アプリケーションによって生成された URL を、よりユーザー フレンドリーで検索エンジン フレンドリーな URL に簡単に置き換えることができます。リンクは、リバース プロキシの背後にある Web アプリケーションによって生成された HTML マークアップで変更できます。URL 書き換えは、HTTP 要求と応答ヘッダー、および IIS サーバー変数で動作する送信書き換え規則を使用して、送信応答コンテンツとヘッダーの書き換えを容易にします。
さらに、すべてのリクエストを example.comに渡すように、exampledavid(dot)com が DNS プロバイダーでセットアップされていることを確認する必要があります。
DNS レコードのサンプル:
NAME TYPE VALUE
--------------------------------------------------
exampleXYZ.com. CNAME example.com.
example.com. A 192.0.2.23
参照: