Вызываю следующий метод в контроллере:
return Yii::$app->getResponse()->redirect(['/manager/index/']);
Редирект происходит, но конечная ссылка получается следующего вида:
http://site.com/web/manager/
Если проходить по ссылке, указывая контроллер и экшен (
site.com/manager/index), то работает роутинг корректно, никакого "web" в адресе нет.
Как это исправить?
Содержимое web.php:
<?php
$params = require(__DIR__ . '/params.php');
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'request' => [
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => '123',
'baseUrl' => ''
],
'cache' => [
'class' => 'yii\caching\FileCache',
],
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
],
'errorHandler' => [
'errorAction' => 'site/error',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'ssl://smtp.yandex.com',
'username' => 'mail@site.ru',
'password' => '0000000',
'port' => '465'
]
],
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'db' => require(__DIR__ . '/db.php'),
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
"baseUrl" => "",
'rules' => [
"/" => "/app",
"/manager" => "/manager/index"
]
]
],
'params' => $params,
'aliases' => [
'@manager' => '/manager/',
]
];
if (YII_ENV_DEV) {
// configuration adjustments for 'dev' environment
$config['bootstrap'][] = 'debug';
$config['modules']['debug'] = [
'class' => 'yii\debug\Module',
];
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
];
}
return $config;
Содержимое .htaccess в корне приложения:
RewriteEngine on
RewriteRule ^(.+)?$ /web/$1
Содержимое .htaccess в web:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php