2019-11-14 11:25:34 1334次浏览 0条回答 0 悬赏 10 金钱

通过 Url::to(['/index/index'], true);
创建的 URL 为
https://api.baidu.comapi.php?r=index/index
正确的地址应该是
https://api.baidu.com/api.php?r=index/index

解决办法
打开文件vendor\yiisoft\yii2\web\UrlManager.php
在543行的createAbsoluteUrl方法

public function createAbsoluteUrl($params, $scheme = null)
{
    $params = (array) $params;
    $url = $this->createUrl($params);
    if (strpos($url, '://') === false) {
        $hostInfo = $this->getHostInfo();
        if (strncmp($url, '//', 2) === 0) {
            $url = substr($hostInfo, 0, strpos($hostInfo, '://')) . ':' . $url;
        } else {
            $url = $hostInfo . $url;
        }
    }

    return Url::ensureScheme($url, $scheme);
}

修改为

public function createAbsoluteUrl($params, $scheme = null)
{
    $params = (array) $params;
    $url = $this->createUrl($params);
    if (strpos($url, '://') === false) {
        $hostInfo = $this->getHostInfo();
        if (strncmp($url, '//', 2) === 0) {
            $url = substr($hostInfo, 0, strpos($hostInfo, '://')) . ':' . $url;
        } else {
            $url = trim($hostInfo,'/') . '/'.trim($url,'/');
        }
    }

    return Url::ensureScheme($url, $scheme);
}
    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
竹林风
经理

竹林风

注册时间:2017-04-06
最后登录:2022-02-15
在线时长:53小时3分
  • 粉丝4
  • 金钱135
  • 威望40
  • 积分1065

热门问题