Yii2改造高级模板前后端使用一个目录和一个域名进行管理

如果是一个网站还好分出两个域名管理还能接受,如果开发的站点过多。那么会导致管理后台的域名也会有对应一个,如果有十个那么后端域名也会有对应十个!那这样就太泛了。所以我们必须改造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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值