2017-04-12 14 views
0

私はYiiのフレームワークは、URLに渡されたサブドメインに応じて、右側のコントローラにリクエストを送る方法を知りたい:のYiiフレームワークと動のサブドメイン

www.mysystem.com - >この要求は、デフォルトで処理されます私のシステムの特定のモジュールのコントローラ。

しかし、ユーザーが自分の店にアクセスすると、彼はURL:storename.mysystem.comを使用します。 (多くの異なる店舗名があります)

私はYiiのどこでモジュール/コントローラがこの要求を処理するかを設定する設定を見つけることができますか?

ありがとうございます。ここで

答えて

0

はYii2

main.php

<?php 
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'), 
    require(__DIR__ . '/../../common/config/params-local.php'), 
    require(__DIR__ . '/params.php'), 
    require(__DIR__ . '/params-local.php') 
); 

$host = (!empty($_SERVER['HTTP_HOST']))?$_SERVER['HTTP_HOST']:$_SERVER['SERVER_NAME']; 
$segments = explode('.',$host); 
defined('SUBDOMAIN') or define('SUBDOMAIN', strtolower($segments[0])); 

return [ 
    'id' => 'app-backend', 
    'basePath' => dirname(__DIR__), 
    'controllerNamespace' => 'backend\controllers', 
    'bootstrap' => ['log'], 
    'modules' => [ 
     SUBDOMAIN => [ 
      'class' => 'backend\modules\\'.SUBDOMAIN.'\\'.ucfirst(SUBDOMAIN), 
     ], 
    ], 
    'components' => [ 
     'request' => [ 
      'csrfParam' => '_csrf-backend', 
     ], 
     'user' => [ 
      'identityClass' => 'common\models\User', 
      'enableAutoLogin' => true, 
      'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true], 
     ], 
     'session' => [ 
      // this is the name of the session cookie used for login on the backend 
      'name' => 'advanced-backend', 
     ], 
     'log' => [ 
      'traceLevel' => YII_DEBUG ? 3 : 0, 
      'targets' => [ 
       [ 
        'class' => 'yii\log\FileTarget', 
        'levels' => ['error', 'warning'], 
       ], 
      ], 
     ], 
     'errorHandler' => [ 
      'errorAction' => 'site/error', 
     ], 
     'db' => [ 
      'tablePrefix' => SUBDOMAIN.'_', 
     ], 
     'urlManager'=>[ 
      'rules' => [ 
       '<controller:[\w-]+>/<id:\d+>' => ''.SUBDOMAIN.'/<controller>/view', 
       '<controller:[\w-]+/<action:[\w-]+>' => ''.SUBDOMAIN.'/<controller>/<action>', 
       '<controller:[\w-]+>/<action:[\w-]+>/<id:\d+>' => ''.SUBDOMAIN.'/<controller>/<action>', 
      ], 
     ], 

    ], 
    'params' => $params, 
]; 
のための私の設定です
関連する問題