Yii2管理和前端分离

Yii2管理和前端分离,yii2,Yii2,我发了很多帖子,但还是不知道该如何把它们分开。我说的是:www.mysite.com(前端)和www.mysite.com/admin(后端)。还尝试了文档中所述的方式 <VirtualHost *:80> ServerName frontend.dev DocumentRoot "/path/to/yii-application/frontend/web/" <Directory "/path/to/yii-applicati

我发了很多帖子,但还是不知道该如何把它们分开。我说的是:www.mysite.com(前端)和www.mysite.com/admin(后端)。还尝试了文档中所述的方式

<VirtualHost *:80>
        ServerName frontend.dev
        DocumentRoot "/path/to/yii-application/frontend/web/"

        <Directory "/path/to/yii-application/frontend/web/">
            # use mod_rewrite for pretty URL support
            RewriteEngine on
            # If a directory or a file exists, use the request directly
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            # Otherwise forward the request to index.php
            RewriteRule . index.php

            # use index.php as index file
            DirectoryIndex index.php

            # ...other settings...
            # Apache 2.4
            Require all granted

            ## Apache 2.2
            # Order allow,deny
            # Allow from all
        </Directory>
    </VirtualHost>

    <VirtualHost *:80>
        ServerName backend.dev
        DocumentRoot "/path/to/yii-application/backend/web/"

        <Directory "/path/to/yii-application/backend/web/">
            # use mod_rewrite for pretty URL support
            RewriteEngine on
            # If a directory or a file exists, use the request directly
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            # Otherwise forward the request to index.php
            RewriteRule . index.php

            # use index.php as index file
            DirectoryIndex index.php

            # ...other settings...
            # Apache 2.4
            Require all granted

            ## Apache 2.2
            # Order allow,deny
            # Allow from all
        </Directory>
    </VirtualHost>

ServerName frontend.dev
DocumentRoot“/path/to/yii应用程序/frontend/web/”
#使用mod_rewrite获得漂亮的URL支持
重新启动发动机
#如果存在目录或文件,请直接使用请求
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
#否则,将请求转发到index.php
重写规则。index.php
#使用index.php作为索引文件
DirectoryIndex.php
#…其他设置。。。
#Apache2.4
要求所有授权
##Apache2.2
#命令允许,拒绝
#通融
ServerName backend.dev
DocumentRoot“/path/to/yii应用程序/backend/web/”
#使用mod_rewrite获得漂亮的URL支持
重新启动发动机
#如果存在目录或文件,请直接使用请求
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
#否则,将请求转发到index.php
重写规则。index.php
#使用index.php作为索引文件
DirectoryIndex.php
#…其他设置。。。
#Apache2.4
要求所有授权
##Apache2.2
#命令允许,拒绝
#通融

但从我所知道的情况来看,我认为这不是正确的方法。为了你的帮助,我已经挣扎了几个小时,没有结果。提前谢谢你

无需编写.htaccess,您可以通过将index.php的位置从“frontend/web/index.php”更改为“/frontend/index.php”来实现这一点,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__ . '/config/bootstrap.php');

$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../common/config/main.php'),
require(__DIR__ . '/../common/config/main-local.php'),
require(__DIR__ . '/config/main.php'),
require(__DIR__ . '/config/main-local.php')
);

(new yii\web\Application($config))->run();

无需编写.htaccess,您可以通过将index.php的位置从“frontend/web/index.php”更改为“/frontend/index.php”来实现这一点,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__ . '/config/bootstrap.php');

$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../common/config/main.php'),
require(__DIR__ . '/../common/config/main-local.php'),
require(__DIR__ . '/config/main.php'),
require(__DIR__ . '/config/main-local.php')
);

(new yii\web\Application($config))->run();

当我尝试输入时查看..../admin我得到404错误未找到:/当我尝试输入时查看..../admin我得到404错误未找到:/