?>

Cómo hacer redirecciones en un proyecto en el framework yii2

Cómo hacer redirecciones en un proyecto en el framework yii2

Создать компонент yii2

<?php /** * @author Semenov Alexander <semenov@skeeks.com> * @link http://skeeks.com/ * @copyright 2010 SkeekS (СкикС) * @date 19.03.2015 */ namespace common\components; use \Yii; use yii\base\BootstrapInterface; use yii\base\Component; use yii\helpers\ArrayHelper; use yii\web\Application; /** * Редиректы * * Class V1Redirect * @package common\components */ class V1Redirect extends Component implements BootstrapInterface { public $map = [ ]; public function bootstrap($application) { if ($application instanceof Application) { \Yii::$app->on(Application::EVENT_BEFORE_REQUEST, function($e) { if ($redirectUrl = ArrayHelper::getValue($this->map, \Yii::$app->request->url)) { \Yii::$app->response->redirect($redirectUrl, 301); } }); } } } 

Подключить в конфиг проекта

'components' => [ .... 'V1Redirect' => [ 'class' => 'common\components\V1Redirect', 'map' => [ '/url1' => 'url2' ], ], ... 

Добавить а загрузку

'bootstrap' => ['V1Redirect'], 

todos los comentarios (2)
Если место с \Yii::$app->response->redirect($redirectUrl, 301); не сработает. Можно воспользоваться стандартной функцией php header(); die;
Тестовый комментарий