0

次のシナリオを使用して、登録ユーザーに独自のサブドメインをサイトに付与するために作成しようとしています。すべてのユーザーに DNS レコードを追加したくはありませんが、ユーザー jon がサインアップした場合、jon.website.com の URL を表示したいと考えています。これは、私が読んだ他の質問から可能であるようです。

しかし、私の実装と理解の欠如が私を支えています。これが私がこれまでに行ったことです。

ドメインの DNS ワイルドカード A レコードを追加しました

*.website.com --> Web サイトの IP 例。12.2.3.4

www.website.com/application/ の .htaccess ファイルに次のコードを追加しました

<VirtualHost *:80>
  ServerName server.website.com
  ServerAlias *.website.com
  UseCanonicalName Off
</VirtualHost>

PHPでサブドメインを探す

preg_match('/([^.]+)\.example\.org/', $_SERVER['SERVER_NAME'], $matches);
if(isset($matches[1])) {
    $subdomain = $matches[1];
}

これがどのように機能するかを確認するには、ユーザーがサインアップすると、サブドメイン名を持つディレクトリが www.website.com/application/subdomainName/ のように作成されます。これは問題なく処理できます。ログインに成功すると、ユーザー次に、www.website.com/application/jon/ に誘導されます

私はこれで正しい方向に向かっていますか?はいの場合、現在の場所から目的地に行くにはどうすればよいですか? これは私の給与等級をかなり上回っています!アドバイスありがとうございます!

4

1 に答える 1

1

あなたの最初のステップは正しく、正しい方向に向かっています。ただし、ディレクトリを作成する理由がわかりません。

サイトがどのドメインからでも機能することを確認する必要があります. そのため、リソースへのすべての URL とリンクが絶対パスを使用していることを確認してください。

ユーザーごとにエクスペリエンスをカスタマイズしたいと思うでしょう。そのため、サイトのルック アンド フィールが異なるように、登録ユーザーごとにメタ データを保存する必要があります。これを行う最も簡単な方法は、サブドメインに対するメタデータをデータベースに保存することです。サイトが実行されている現在のサブドメインを見て、適切なユーザーをロードして、サイトがどのように見えるかを判断するだけです.

于 2012-09-17T16:01:42.360 に答える