2

静的ページを表示できません。http://stuff.cebe.cc/yii2-guide.pdf (100 ページ)のドキュメントで説明されているとおりに実行してみてください。ただし、prettyurl を有効にすると機能しません。

urlManager ルールに追加:

'urlManager' => array(
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => array(
        '' => 'site/index',
        'login' => 'site/login',
        'contacts' => 'site/contact',
        '<view:(break)>'=>'/site/page?&view=<view>',
    ),
),

次に、SiteController に次を追加しました。

public function actions()
    {
        return [
            ...
            'page' => [
                'class'=>'yii\web\ViewAction',
            ],
        ];
    }

そして、views/site/pages/break.php を作成しました

<h1>View static page Break</h1>

しかし、次のエラーが表示されます: Not Found (#404) Unable to resolve the request: site/page?&view=break

prettyUrl を無効にした場合:

//'enablePrettyUrl'=>true

次に、ページの入力 URL を確認できます: index.php?r=site/page&view=break

ViewAction の何が問題になっていますか?

4

4 に答える 4

2

URL管理のルール部分が間違っていると思います。これを試して

'urlManager' => [
    'class' => 'yii\web\UrlManager',
    // Disable index.php
    'showScriptName' => false,
    // Disable r= routes
    'enablePrettyUrl' => true,
    'rules' => array(
            '<controller:\w+>/<id:\d+>' => '<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
            '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
    ),
    ],

ルールの部分は重要なはずです..

于 2015-02-21T14:20:17.983 に答える
1

私はこの方法を試しました(ルールの指定なし):

        'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => 'false'
    ],
于 2015-02-21T22:09:29.623 に答える