Hi,
It might be because joomla uses directly the information from the $_SERVER instead of using the information from the $_GET.
The alternative will be to redirect to the SEFed URL yourself in that php file at the root of your website with something like that:
header('HTTP/1.1 303 See other');
$query = '';
$lang = '';
foreach($_GET as $k => $v){
if($k == 'lang') $lang = '/'.$v;
else $query.='/'.$k.'-'.$v;
}
$s ='';
if ( (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) ||
(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) == 'https') ) {
$s='s';
}
$folder='/';
$parts=explode('/',$_SERVER['PHP_SELF']);
if(count($parts)>1){
array_pop($parts);
$folder .= implode('/',$parts);
}
header('Location: http'.$s.'://'.$_SERVER["HTTP_HOST"].$folder.$lang.$query);
exit;
That should avoid loosing parameters but I can't guarantee that it will work because SEF systems are not the same for all joomla installations.