diff --git a/qiniu/rs.php b/qiniu/rs.php index 1166b5d8..d2a94125 100644 --- a/qiniu/rs.php +++ b/qiniu/rs.php @@ -32,7 +32,7 @@ public function MakeRequest($baseUrl, $mac) // => $privateUrl function Qiniu_RS_MakeBaseUrl($domain, $key) // => $baseUrl { - $keyEsc = rawurlencode($key); + $keyEsc = str_replace("%2F", "/", rawurlencode($key)); return "http://$domain/$keyEsc"; } diff --git a/tests/RsTest.php b/tests/RsTest.php index 2368198c..b02375a2 100644 --- a/tests/RsTest.php +++ b/tests/RsTest.php @@ -88,5 +88,11 @@ public function testBatchDeleteMoveCopy() Qiniu_RS_BatchDelete($this->client, array($e2, $e3, $e4)); } + + public function testUrlEncode() { + $url = Qiniu_RS_MakeBaseUrl("www.qiniu.com", "a/b/c d"); + var_dump($url); + $this->assertEquals($url, "http://www.qiniu.com/a/b/c%20d"); + } }