8

他に言い方がわからないので、私の理想的なシナリオを説明します。うまくいけば、それを実装する方法を説明してください...

DreamHost でホストされる Zend Framework を使用してアプリケーションを作成しています。アプリケーションは独自のドメイン (つまり、example-app.com) でホストされます。基本的に、ユーザーはサインアップして独自のドメイン sampleuser.example-app.com または example-app.com/sampleuser を取得できる必要があります。これは、実際には単一のインスタンスであるアプリの独自のインスタンスのように見えます。 URL に基づいてさまざまなコンテンツを提供します。

最終的には、ユーザーが sampleuser.example-app.com を指す独自のドメイン (foobar.com など) を作成できるようにして、foobar.com への訪問者がサイトが実際に提供されていることに気付かないようにしたいと考えています。 example-app.com から。

私はそのほとんどを行う方法を知りません。このプロセスはどのように機能しますか? Apache でファンキーなことをする必要がありますか? それとも、DreamHost のようなサードパーティのホストでこれを行うことができますか?

更新:アドバイスありがとうございます! 思い切ってホスティング プランをアップグレードして、ワイルドカード サブドメインを利用することにしました。思っていたよりも安い!また、opensrs.com のような独自の API を持つドメイン リセラー プログラムについても知りました。これらの API のいずれかを使用することで、ドメイン登録の問題を解決できると思います。

4

1 に答える 1

10

サブドメインは簡単です。ホスティング環境では、ほとんどの場合、apache はメイン ドメイン以下のすべてのサブドメイン呼び出しをキャッチするように構成されています。ワイルドカード DNS を定義する必要があるだけなので、*.example-app.com はサーバーの IP を指します。次に、Web サイトはそれらのサブドメイン名へのすべての呼び出しをキャッチする必要があります。

他のドメインは難しいです。それらはApacheで仮想ホストとして構成する必要があります-http://httpd.apache.org/docs/1.3/vhosts/name-based.htmlを参照してください-これは、特にホスティング環境でそれを自動化するのが難しいことを意味します-ホストは、それを行うための API を提供します (簡単でより実現可能なシナリオは、Web サイトに固有の IP を割り当てることです。そうすれば、Apache ですべてをキャッチできます。おそらく、ホスティング コントロール パネルを使用して構成するか、うまくいく可能性があります)。ボックスの - そして、DNS サーバーをあなたの IP に向けるだけです)。

次に、必要なすべての呼び出しを Web サイトに向けるように Apache を構成した後、次の方法でサブドメインごとにアプリケーション パーティションを区別できます。

  • HTTP リクエストからホスト ヘッダーを取得する
  • あなたが提供しているすべてのサブドメイン名を含むデータベーステーブルを持っています
  • そのデータベース テーブルを参照してインスタンス、またはユーザー、ID を特定し、後でそれを使用してデータをフィルタリングしたり、「アプリケーション インスタンスごとのデータベース」スキーマを使用する場合はデータベースを選択したりします。

幸運を :)

于 2009-06-16T07:08:20.383 に答える