clao 2018-08-08 09:41:51 1037次浏览 8条评论 7 5 0

前不久在在探寻Yii2高级版,前后端使用域名的问题,官方是要前后台各用一个域名,哪怕是两个二级域名也好,但是这样测试不好弄,还不如同一个域名,后台只要在该域名后面加上/admin就好了,后来在网上找了很多配置方法,又是改apache配置,又是改前后台的cofig文件夹的main配置,还有还要在根目录和前后台的web目录各放一个.htaccess,关键是忙活了半天,就让一直提示403还是500来着,后来经过了一段的研究,用了以下简单粗暴的方法解决了,不用那么麻烦就轻松解决了所有问题,也不用创建.htaccess。

方法如下(要说重点了,请做好笔记,会考的哦)

方法就是在前端的frontend的web目录下创建后台目录,比如你的后台是admin就创建admin,然后从backend的web的index.php复制到admin里面,然后重新定位下文件路径就好了,简单的方法就是'/../../'全部改为'/../../../',以'/config/'开头的全部在前面加上'/backend/'。如果实在不会操作,就复制我下面的代码到该文件吧。apache的网站还是直接指向'/frontend/web/',这样前后台的唯一入口都在这里了,这样你就可以用的域名 http://ww.你的域名.com/admin 访问你的后台了。这样是不是很酷??

代码:(目录文件:frontend/web/admin/index.php):

<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

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();
觉得很赞
您需要登录后才可以评论。登录 | 立即注册