Hi,
Change the line:
if(!empty($_SERVER["REDIRECT_URL"])){
to:
if(!empty($_SERVER["REDIRECT_URL"]) && preg_match('#.*index\.php$#',$_SERVER["REDIRECT_URL"]) && empty($_SERVER['QUERY_STRING'])&&empty($_SERVER['REDIRECT_QUERY_STRING']) && !empty($_SERVER["REQUEST_URI"])){
$requestUri = $_SERVER["REQUEST_URI"];
}elseif(!empty($_SERVER["REDIRECT_URL"]) && (isset($_SERVER['QUERY_STRING'])||isset($_SERVER['REDIRECT_QUERY_STRING']))){
in the file administrator/components/com_hikashop/helpers/helper.php and that should fix the problem.
The problem is that in order to handle the strange $_SERVER configuration of some servers, we had to change the hikashop_currentURL() function for the 2.1 version. However, since your server also has a strange $_SERVER configuration albeit different, it now doesn't work with 2.1.
The fix I propose should allow the hikashop_currentURL() to work properly on all server configurations.