[bugfix] handle multi ? urls

Do you confirm the code is correct?   o?o

I think, the code `retSegs.concat(lastSegs)` doesn't seemingly  change the array `retSegs` value when it doesn't assigned to `retSegs` like `retSegs = retSegs.concat(lastSegs);`, so wouldn't the `retSegs` value in the last statement `return retSegs.join('?')` be original? You can try by a multiple '?' urls.

The codes recommended:
```
    retSegs.push.apply(retSegs, lastSegs);
    return retSegs.join('?');
```
or 
```
   return retSegs.concat(lastSegs).join('?')
```