Php Yii2:如何创建到公共的路由

Php Yii2:如何创建到公共的路由,php,yii2,Php,Yii2,我想在“common”中创建一个“errorAction”。因此,当页面不存在时,将被重定向到“common/controllers/ErrorController”中的操作“index” 我有这个: common\main.php 但我希望它重定向到那里,即使服务器上没有“前端”文件夹(由于维护,它暂时不存在) 我使用扩展名“Yii2维护模式组件”,它会正确重定向到我在“common”文件夹中创建的视图。 问题是,当我从服务器上删除“backend”和“frontend”文件夹时,它不会重定向

我想在“common”中创建一个“errorAction”。因此,当页面不存在时,将被重定向到“common/controllers/ErrorController”中的操作“index”

我有这个:

common\main.php

但我希望它重定向到那里,即使服务器上没有“前端”文件夹(由于维护,它暂时不存在)

我使用扩展名“Yii2维护模式组件”,它会正确重定向到我在“common”文件夹中创建的视图。 问题是,当我从服务器上删除“backend”和“frontend”文件夹时,它不会重定向到维护页面,并显示Apache的默认页面“404notfound”

common\main-local.php


您可以通过在文档根目录中添加
.htaccess
文件来实现此目的。使用此配置,当文件夹/文件不存在而不是404错误时,您已在
common
页面上重定向

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . route/to/your/common/handler [L]
common
 - controllers
 - - ErrorController.php
 - views
 - - error
 - - - index.php
...
        'maintenanceMode' => [
            'class' => 'brussens\maintenance\MaintenanceMode',
            'layoutPath' => '@common/views/layouts/maintenance',
            'viewPath' => '@common/views/maintenance/index',
            'roles' => [
                'administrator',
            ],
            'urls' => [
                'site/login',
            ],
        ],
...
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . route/to/your/common/handler [L]