未开路由美化创建 URL 链接的小 BUG [ 2.0 版本 ]
通过 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);
}
共 0 个回答
没有找到数据。
竹林风
注册时间:2017-04-06
最后登录:2022-02-15
在线时长:53小时3分
最后登录:2022-02-15
在线时长:53小时3分
- 粉丝4
- 金钱135
- 威望40
- 积分1065