「これでいいの?」という声があります。質問。
マルチテナント アプリケーションを構築しています。DNS と Apache は、複数のサブドメインがサイトを指すように構成されます。
site1.example.com
site2.example.com
site3.example.com
など...
$request->getHost() によって返される値を使用して、サブドメインに応じて異なるコンテンツを配信します。
ほとんどのリクエストでは、ホスト名から整数の site_id 値を導出して検証します。これはデータベース クエリで使用され、適切なコンテンツを取得して配信します。
また、{% render url(route) %} を使用して twig サブ テンプレートを使用します。サブ テンプレート ルートのアクションは、ホストに基づいてカスタム コンテンツを配信します。ホスト名を使用して作成された名前を持つ一意のテンプレートをレンダリングする場合があります。
ユーザーが再度ログインしなくても「サイト」を切り替えられるようにしたい。PHP セッション Cookie と Symfony の「remember me」Cookie のドメインを .example.com (ドットに注意) に設定できます。
このアイデアでいくつかの簡単なテストを行ったところ、うまくいくようです。私が忘れている問題や落とし穴はありますか? 本当にサポートされていないことはしたくありません。キャッシングなどについて少し不安です。複数のホスト名でサイトにアクセスしても、Symfony は満足していますか?
Symfony リバース プロキシを有効にしましたが、app/cache/prod/http_cache は常に空のように見えますが、これはまだ正常に機能しているように見えるため、キャッシュが実際には機能していないと思います。それは私が推測する別の主題です。キャッシングについてもっと学ぶ必要がありますが、一般的に、Symfony のリバース プロキシはこれで満足するのでしょうか? キャッシュは完全な URL に基づいていますか、それとも単にルートに基づいていますか?
ホスト名による新しいルーティング機能があることは知っています。ホストに関係なく同じアクションメソッドを実行したいので、ここでは役に立たないと思います。
私は大丈夫だと思いますが、これをコミットする前にコメントをいただければ幸いです。
ありがとう