1

私の現在のURL構造は次のとおりです。

http://www.mydomain.com/module/controller/action

URLのモジュールセクションを非表示にする必要があります。これを行う方法はありますか?

ありがとう。

4

2 に答える 2

4

URL http://www.mydomain.com/customer/loginでモジュールを指定するには、 urlManagerの下のconfig(protected / config / main.php)で次のようにします。

'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName' => false,
        'rules'=>array(
            'customer/login' => 'module/controller/action',

            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        ),
    ),

コントローラのアクションをモジュール/コントローラ/アクション(以下で説明)に移動するには、次を使用できます。

'<controller:\w+>/<action:\w+>'=>'module/controller/action',

また

'<controller:\w+>/<action:\w+>'=>'module/<controller:\w+>/<action:\w+>',

値のコントローラー/アクション部分(=>の右側)が設定値であるか変数であるかによって異なります。

したがって、コントローラー/アクションを正確なURLモジュール/コントローラー/アクションに移動する場合は、最初の例を使用します。たとえば、コントローラー/アクションサイト/テストモジュール/コントローラー/アクションに移動する場合は、上記の最初の例を使用します。

コントローラー/アクションを動的コントローラー/アクションに移動させる場合は、2番目を使用します。たとえば、コントローラー/アクションサイト/テストモジュール/サイト/テストに移動する場合は、上記の2番目の例を使用します。

この新しいルールは、3つのデフォルトのYiiルールより上にある必要があります。これらのルールは上から下に読み取られ、最初に見つかったルールとのみ一致するためです。

于 2012-11-09T11:32:08.423 に答える
1

はい、設定で任意のURLルールを定義できます。

URLルールは次のようになります。

'<controller:(foo|bar)>/<action>' => 'module/<controller>/<action>',
于 2012-11-09T10:51:09.553 に答える