Как правильно заменять параметры в URL

Здравствуйте уважаемые знатоки.
Вопрос в следующем.
Есть 2 группы ссылок которые подменяют свой параметр в url
Вопрос в том. как правильно подменять эти параметры так чтоб не задевались соседние параметры
пример:
URL — site/topics?type=topic&city=15323
Есть группа ссылок которая подменяет параметр type и другая, которая подменяет city и делается это очень неоптимально:
{assign var="type" value="`$_aRequest["type"]`"}
{assign var="city" value="`$_aRequest["city"]`"}

<a href="{router page="plugin"}{if $type ne ""}?type={$type}{/if}{if $city ne ""}{if $type ne ""}&{else}?{/if}city={$city}{/if}">change type</a>

Теперь если вдруг необходимо будет добавить еще один блок ссылок, то придется переписать доф.... очень много кода.
А если вдруг эти параметры будут добавляться другими плагинами\хуками и т.д. то это будет просто ужас.

Так вот. Как это можно сделать более правильно?