我的是Advanced版本,我frontend和backend是单独用不同域名的,由于怕权限管理里面跟前台的路由有相同的,所以就在后台的路径里添加个/admin
。
具体是在backend的main.php
的components
里添加baseUrl => /admin
添加,添加后,页面是可以访问的,就是url多了个admin,比如从backend.example.com/controller/action
变成backend.example.com/admin/controller/action
'components' => [
'request' => [
'csrfParam' => '_csrf-backend',
//All requests will add "/admin",e.g:
//backend.example.com/controller/action will change to
//backend.example.com/admin/controller/action
'baseUrl' => '/admin',
],
],
但问题是,assets url也加了这个admin,导致无法加载
我试了改这个文件backend/assets/AppAsset.php
里的$baseUrl
,但是无论我怎么修改,它完全不起作用(没设置'baseUrl' => '/admin'
的时候设置这个是有用的)
<?php
namespace backendassets;
use yiiwebAssetBundle;
/**
* Main backend application asset bundle.
*/
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yiiwebYiiAsset',
'yiibootstrapBootstrapAsset',
];
}
另外我发现在views页面中用registerJsFile()
添加的js,就不会添加/admin
,就能正常加载
$this->registerJsFile('plugins/ImageViewer/imageviewer.min.js', ['position' => View::POS_END, 'depends'=>JqueryAsset::class]);
所以想问一下大佬们,怎样设置能让assets不添加这个/admin
?感觉这个文件backend/assets/AppAsset.php
里应该可以设置才对呀。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…