开发者社区> 问答> 正文

ossphpsdkv2获取预签名URL时,域名怎么才能配置成bucket的绑定域名?

$url = $client -> generatePresignedUrl(
               array( 'Bucket' => 'your-bucket-name',
                         'Key' => 'your-object-key',
                         'Expires' => new \DateTime( "+5 minutes"),
               ));
echo $url;
这样生成的预签名URL中的域名部分是bucketname.aliyun.oss.aliyuncs.com ,但是我的bucket已经绑定了自有域名并且使用CDN加速了,实际上我更想要使用我的自有域名而不是使用默认的OSS子域,这样我才能利用上CDN加速,请问我应该怎样获取使用自有域名形式的预签名URL?请不要让我自己去用字符串替换,那样太粗暴不灵活了

展开
收起
风雪之隅 2014-10-21 17:17:58 7631 0
2 条回答
写回答
取消 提交回答
  • Reossphpsdkv2获取预签名URL时,域名怎么才能配置成bucket的绑定域名?
    绑定域名后 还是OSS子域   我也想知道  绑定域名有什么用?
    2014-12-16 11:56:16
    赞同 展开评论 打赏
  • Reossphpsdkv2获取预签名URL时,域名怎么才能配置成bucket的绑定域名?

    src/Aliyun/Common/Communication/HttpRequest.php里增加一个函数getCnameUrl

        public function getFullUrl() {
            $fullUrl =  $this->endpoint.$this->resourcePath;
            $parameterString = $this->getParameterString();
            if (!empty($parameterString)) {
                $fullUrl .='?'.$parameterString;
            }
            return $fullUrl;
        }


        public function getCnameUrl() {
            $myhost = "www.test.com";
            $fullUrl =  $myhost.$this->resourcePath;
            $parameterString = $this->getParameterString();
            if (!empty($parameterString)) {
                $fullUrl .='?'.$parameterString;
            }
            return $fullUrl;
        }

    然后把src/Aliyun/OSS/Commands/GeneratePresignedUrlCommand.php 中的private function generate($options) 函数的最后一行
    return $request->getFullUrl();
    改成
    return $request->getCnameUrl();
    不知道这样行不行。对PHP不太熟悉
    2014-10-22 13:27:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
创新改变行业——释放域名生态的力量 立即下载
“域”见更美好的未来——域名筑梦互联网+ 立即下载
“域”感——《域名投资从入门到精通》 立即下载