"common"に "errorAction"を作成します。したがって、ページが存在しないときは、 "common/controllers/ErrorController"のアクション "index"にリダイレクトされます。Yii2:共通のルートを作成する方法
私はこれを持っている:
そして、この構造:共通\ main.php
<?php return [ 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor', 'components' => [ 'cache' => [ 'class' => 'yii\caching\FileCache', ], 'errorHandler' => [ 'errorAction' => 'error/index', ], ], ];
common
- controllers
- - ErrorController.php
- views
- - error
- - - index.php
しかし、私が存在する場合でも、それはそこにリダイレクトしますサーバー上の "フロントエンド"フォルダ(メンテナンスのために一時的に存在しない)。
私は拡張子 "Yii2メンテナンスモードコンポーネント"を使用し、 "common"フォルダで作成したビューに正しくリダイレクトします。 問題は、サーバーから「バックエンド」と「フロントエンド」の両方のフォルダを削除した場合、メンテナンスページにリダイレクトされず、Apacheの「404 Not Found」のデフォルトページが表示されることです。
共通\メインlocal.phpファイル
...
'maintenanceMode' => [
'class' => 'brussens\maintenance\MaintenanceMode',
'layoutPath' => '@common/views/layouts/maintenance',
'viewPath' => '@common/views/maintenance/index',
'roles' => [
'administrator',
],
'urls' => [
'site/login',
],
],
...