現在のロケールを表すサブドメインを持つルーティングシステムを設定しようとしています。ルーティングは@Routing
アノテーションを介して設定されたとは以下のように見えます。Symfonyルーティング - デフォルトへのフォールバックを伴うサブドメインとしてのロケール
/**
* @Route(
* "/",
* name="homepage",
* host="{locale}.{domain}",
* defaults={"locale" = "en", "domain" = "%domain%"},
* requirements={"locale" = "en|de|fr", "domain" = "%domain%"}
*)
*/
は、URLのen.somedomain.com
やde.somedomain.com
ように適していますが、ロケールなしで、somedomain.com
の正しいルートを見つけることができません。
私は理由host
パラメータの、それは正確なlocale.domainパターンを表すように設定されているが、私は、追加、デフォルトhost
があるかもしれないことをsymfonyのルーティングシステムを伝える方法を見つけることができないということ。理解
これですべてを検索しましたが、特に何も見つかりませんでした。助けていただければ幸いです!
UPDATE
host
パラメータを指定せずに、注釈内の別の@Route
を追加することによって、それを行うための方法、実際にあります:
/**
* @Route(
* "/",
* name="homepage_default",
* defaults={"locale" = "en"}
*)
*/
はなく、少し汚れのthatsに見える、と私はありません%domain%
パラメータを使用して、私にとっては重要です - たとえば、私はモバイル版のために別のサブドメインが必要でしょう。
これは非常に便利ですが、私の問題はコンパイラエラーではありません。 symfonyのデフォルトのドメインを要求すると、正しいルートの例外を見つけることができません。そして問題は、 'host = {" {locale}。{domain} "、" {domain} "}'のような複数の 'host'パラメータを定義できないことです。上記の注釈はすべて上手く機能しています。 – Nevertheless
問題の原因はSymfonyがデフォルトのロケール設定を「見ることができない」ということだと思っています。以前はコンパイルエラーは発生していませんでしたが、私のデフォルトパラメータはうまくいかなかったからです。 –