Используйте поиск по регулярному выражению, чтобы получить значения.
Если вы заранее знаете имена параметров, это проще, чем кажется ...
var searchableStr = document.URL + '&';
var value1 = searchableStr.match (/[\?\&]value1=([^\&\#]+)[\&\#]/i) [1];
var sid = searchableStr.match (/[\?\&]sid=([^\&\#]+)[\&\#]/i) [1];
var mid = searchableStr.match (/[\?\&]mid=([^\&\#]+)[\&\#]/i) [1];
.
Последний бит - это что-то вроде:
var domain = searchableStr.match (/\/\/([w\.]*[^\/]+)/i) [1];
var newlink = '//' + domain + '/' + value1 + '/data/' + sid + '/' + mid + '.ext';
.
.
PS: Это немного больше работы, если вы не знаете имена заранее.
PPS: это образовательный код. Остерегайтесь лишних пробелов и вредоносных данных при использовании в дикой природе.