如果是一个网站还好分出两个域名管理还能接受,如果开发的站点过多。那么会导致管理后台的域名也会有对应一个,如果有十个那么后端域名也会有对应十个!那这样就太泛了。所以我们必须改造Yii2高级模板使用一个域名。
一开始也在网上找了很多,大部分都是修改伪静态规则来实现的。
其实有更好方法。
manage下index.php修改如下:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
define('MANAGE', 'manage');
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../../vendor/yiisoft/yii2/Yii.php';
require __DIR__ . '/../../../common/config/bootstrap.php';
require __DIR__ . '/../../../backend/config/bootstrap.php';
$config = yii\helpers\ArrayHelper::merge(
require __DIR__ . '/../../../common/config/main.php',
require __DIR__ . '/../../../common/config/main-local.php',
require __DIR__ . '/../../../backend/config/main.php',
require __DIR__ . '/../../../backend/config/main-local.php'
);
(new yii\web\Application($config))->run();
这样请求http://www.apizl.com/manage/index.php 那么就会访问后端控制器,在转跳中使用内置\yii\helpers\Url::to()生成链接
如下:
<?php echo \yii\helpers\Url::to(['/manage/manage-add']); ?>
//生成如下链接:/manage/index.php?r=manage%2Fmanage-add
那么还要关闭后端静态:
'urlManager' => [
'enablePrettyUrl' => false,
'showScriptName' => false,
'rules' => [
],
],
Yii2改造高级模板前后端使用一个目录和一个域名进行管理
一开始也在网上找了很多,大部分都是修改伪静态规则来实现的。
其实有更好方法。
在frontend的web下新建一个manage目录用来放后端index.php:
manage下index.php修改如下:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
define('MANAGE', 'manage');
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../../vendor/yiisoft/yii2/Yii.php';
require __DIR__ . '/../../../common/config/bootstrap.php';
require __DIR__ . '/../../../backend/config/bootstrap.php';
$config = yii\helpers\ArrayHelper::merge(
require __DIR__ . '/../../../common/config/main.php',
require __DIR__ . '/../../../common/config/main-local.php',
require __DIR__ . '/../../../backend/config/main.php',
require __DIR__ . '/../../../backend/config/main-local.php'
);
(new yii\web\Application($config))->run();
这样请求http://www.apizl.com/manage/index.php 那么就会访问后端控制器,在转跳中使用内置\yii\helpers\Url::to()生成链接
如下:
<?php echo \yii\helpers\Url::to(['/manage/manage-add']); ?>
//生成如下链接:/manage/index.php?r=manage%2Fmanage-add
那么还要关闭后端静态:
'urlManager' => [
'enablePrettyUrl' => false,
'showScriptName' => false,
'rules' => [
],
],
Yii2改造高级模板前后端使用一个目录和一个域名进行管理
这样简单的改造就完成了,是不是很简单。
原文:https://www.apizl.com/archives/view-134236-1.html