主页 > 编程资料 > Yii >
发布时间:2018-06-17 作者:apizl 阅读:577次

如果是一个网站还好分出两个域名管理还能接受,如果开发的站点过多。那么会导致管理后台的域名也会有对应一个,如果有十个那么后端域名也会有对应十个!那这样就太泛了。所以我们必须改造Yii2高级模板使用一个域名。

一开始也在网上找了很多,大部分都是修改伪静态规则来实现的。

其实有更好方法。

在frontend的web下新建一个manage目录用来放后端index.php:

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改造高级模板前后端使用一个目录和一个域名进行管理

这样简单的改造就完成了,是不是很简单。



文章由爱资料原创本文地址:https://www.apizl.com/archives/view-134236-1.html,转载请以链接形式标明本文地址!
关键字词: