【发布时间】:2019-11-19 09:49:08
【问题描述】:
'urlManagerBackend' => [
'class' => 'yii\web\urlManager',
'baseUrl' => 'http://backend.test',
'enablePrettyUrl' => true,
'showScriptName' => true,
],
然后我想显示保存在uploads目录下的图片
<img src="<?= Yii::$app->urlManagerBackend->baseUrl; ?>/uploads/logo.jpg>
问题是这个网址不能像这样硬编码:
'baseUrl' => 'http://backend.test',
【问题讨论】:
-
你的意思是不能在配置中硬编码?你有不同的环境,基于 env 你可以设置不同的 url。也许你有多个网址?
-
url 'backend.test' 是静态的,项目部署后无法使用
-
你有办法在前端确定后端域吗?由于指向后端文件夹的域可以是任何东西,因此没有通用的方法来找到它。但是如果你有办法确定域(例如你知道后端域将是
backend.frontend-domain.example),你应该可以在应用程序的EVENT_BEFORE_ACTION中设置url管理器的baseUrl。
标签: yii2 yii2-advanced-app yii-components yii2-model yii2-urlmanager