0

次のようなルートがあります。

            array(
            'type'    => 'Hostname',
            'options' => array(
                'route'    => ':subdomain.:domain.:tld',
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller'    => 'Index',
                    'action'        => 'index',
                ),
            )

ドメインを「application1.com」、「example.org」などのリストに制限したいので、domain.tld を 1 つのパラメーターとして取得します。

私はもう試した

        array(
            'type'    => 'Hostname',
            'options' => array(
                'route'    => ':subdomain.:domain',
                'defaults' => array(
                    '__NAMESPACE__' => 'Application\Controller',
                    'controller'    => 'Index',
                    'action'        => 'index',
            ),

ドメインと tld を単一のルーター パラメータとして処理することは可能ですか?

4

1 に答える 1

2

その特定のルーターでそれを行うことはできないと思いますが、次のことはできます。

1)必要に応じて機能する新しいルーターを拡張/作成します

2) この制限をコードベースの外に移動します。

3) イベントを使用して、ブートストラップ/ディスパッチでドメインをチェックし、適切なアクションを実行する

この種の制限は、コード内ではなく、(apache/web サーバーを介して) 低レベルで実行することをお勧めします。コードに入れたい場合、これはおそらく最適な場所ではありません。

于 2013-02-11T13:23:36.807 に答える