可以的
1.nginx 配置,将 www.xxx.com 指向 @app/web目录
2.store配置:
参考:http://www.fecshop.com/doc/fecshop-guide/instructions/cn-1.0/guide-fecshop_store.html
'stores' => [
# store key:域名去掉http部分,作为key,这个必须这样定义。
'www.xxx.com/appserver' => [
'language' => 'en_US',
注意:store key是域名+appserver
,也就是:www.xxx.com/appserver
3.需要去@app/web 路径下面新建一个文件夹appserver
,进入这个文件夹,添加文件夹 @app/web/appserver/assets
和index.php文件
@app/web/appserver/index.php
注意: @app/web/appserver/assets
要设置可写
index.php的内容复制@app/web/index.php
,然后将里面的文件路径改改,譬如将
require(__DIR__ . '/../../vendor/autoload.php');
require(__DIR__ . '/../../vendor/fancyecommerce/fecshop/yii/Yii.php');
改成
require(__DIR__ . '/../../../vendor/autoload.php');
require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/yii/Yii.php');
因为文件夹的路径不同,因此需要加一个 /..
,
你不用自己更改了,直接复制我下面的内容添加到@app/web/appserver/index.php
即可。
<?php
error_reporting(E_ALL || ~E_NOTICE); //除去 E_NOTICE 之外的所有错误信息
#ini_set('session.cookie_domain', '.fancyecommerce.com'); //初始化域名,
$http = ($_SERVER['SERVER_PORT'] == 443) ? 'https' : 'http';
$homeUrl = $http.'://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['SCRIPT_NAME']), '\\/');
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../../../vendor/autoload.php');
require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/yii/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'),
# fecshop services config
require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/config/fecshop.php'),
# fecshop module config
require(__DIR__ . '/../../../vendor/fancyecommerce/fecshop/app/appfront/config/appfront.php'),
# thrid part confing
# common modules and services.
require(__DIR__ . '/../../../common/config/fecshop_local.php'),
# appadmin local modules and services.
require(__DIR__ . '/../../config/fecshop_local.php')
);
$config['homeUrl'] = $homeUrl;
/**
* yii class Map Custom
*/
$yiiClassMap = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../config/YiiClassMap.php'),
require(__DIR__ . '/../../../common/config/YiiClassMap.php')
);
if(is_array($yiiClassMap) && !empty($yiiClassMap)){
foreach($yiiClassMap as $namespace => $filePath){
Yii::$classMap[$namespace] = $filePath;
}
}
/**
* Yii 重写block controller model等
* 也就是说:除了compoent 和services,其他的用RewriteMap的方式来实现重写
* 重写的类可以集成被重写的类
*/
$yiiRewriteMap = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../config/YiiRewriteMap.php'),
require(__DIR__ . '/../../../common/config/YiiRewriteMap.php')
);
if(is_array($yiiRewriteMap) && !empty($yiiRewriteMap)){
Yii::$rewriteMap = $yiiRewriteMap;
}
/**
* 添加fecshop的服务 ,Yii::$service , 将services的配置添加到这个对象。
* 使用方法:Yii::$service->cms->article;
* 上面的例子就是获取cms服务的子服务article。
*/
new fecshop\services\Application($config['services']);
unset($config['services']);
$application = new yii\web\Application($config);
$application->run();