createUrl的一个问题,我晕了? [ 未指定版本 ]
网站的根目录是 /aurora/
然后有五个应用,blog + foumn + shop + back + front
back应用是项目的后台,管理blog+foumn+shop,
front应用是blog+foumn+shop的用户中心页面(前台管理嘛),相当于back的功能
现在问题是解决url硬编码的问题,其中blog+foumn+shoap有时会需要
/aurora/back/index.php?r
/aurora/front/index.php?r
的url需求,
然后我发现
//假设在blog应用中
Yii::$app->urlManage->createUrl('');
//结果是
/aurora/blog/web/index.php?r=
//然后加了一个配置
//in blog config
'frontUrl' => [
'class' => 'yii\web\urlManager',
'baseUrl' => '/aurora/front/web'
],
//然后在blog的view中
Yii::$app->frontUrl->createUrl('');
//兴高采烈的以为会
/aurora/front/web/index.php?r=
//发现依旧是
/aurora/blog/web/index.php?r=
//看了源码之后发现是(在 yii\web\UrlManager)
$baseUrl = $this->showScriptName || !$this->enablePrettyUrl ? $this->getScriptUrl() : $this->getBaseUrl();
导致这种效果
大家有没有好的解决方法:
感谢任何建议。
很明显我不会增加这些配置的
'enablePrettyUrl' => true,
'showScriptName' => false,
最佳答案
其他 0 个回答
没有找到数据。
jackz
注册时间:2015-06-10
最后登录:2018-08-02
在线时长:10小时6分
最后登录:2018-08-02
在线时长:10小时6分
- 粉丝6
- 金钱255
- 威望30
- 积分655