【问题标题】:yii2 assetBundle - all absolute links instead of relativeyii2assetBundle - 所有绝对链接而不是相对链接
【发布时间】:2016-10-13 10:44:00
【问题描述】:

我想知道如何在 Yii2 中通过 /config/main.php 配置 AssetBundle。原因是,我们需要对所有资产(CSS + JS 包)使用全局绝对链接,而不是相对链接。

我们设置了绝对的@web 别名:

Yii::setAlias('@webabs', empty($_SERVER['SERVER_NAME']) ? '/' : '//'.$_SERVER['SERVER_NAME']);

所以我们唯一需要改变的是\yii\web\AssetBundle类中的属性baseUrl

baseUrl = '@webabs'

以下对我不起作用:

'assetBundle' => [
    'baseUrl' => '@webabs',
],

因为“assetBundle”不是核心组件。

'yii\web\AssetBundle' => [
    'class' => 'yii\web\AssetBundle',
    'baseUrl' => '@webabs',
],

因为对象配置器不会配置属性。

那么有没有办法在“\yii\web\AssetBundle”中全局配置“baseUrl”属性?

谢谢。

【问题讨论】:

    标签: php yii2


    【解决方案1】:

    在配置中尝试:

    // ...
    'components' => [
        // ...
        'assetManager' => [
            'baseUrl' => '@webabs/assets'
        ],
    ],
    

    【讨论】:

    • 感谢,但不工作,仍然是所有捆绑包中的相对链接。
    • 我已经检查了我的应用程序,并且可以正常工作:配置如上但'baseUrl' => '//' . $_SERVER['SERVER_NAME'] . '/assets' - 你可以试试吗?
    • 是的!我的错,我缓存了一些静态 HTML。对不起,谢谢。
    猜你喜欢
    • 2011-02-21
    • 2013-05-10
    • 1970-01-01
    • 2012-02-26
    • 2012-04-02
    • 2010-09-25
    • 1970-01-01
    • 2010-10-07
    • 2015-12-04
    相关资源
    最近更新 更多