Index: kernel/application.php =================================================================== --- kernel/application.php (revision 14361) +++ kernel/application.php (working copy) @@ -1914,12 +1914,17 @@ // remove tempporary parameters used by listeners unset($params['t'], $params['inject_parts'], $params['pass_template'], $params['pass_category'], $params['category_processed']); - if (array_key_exists('url_ending', $params)) { - $ret = trim($ret, '/') . $params['url_ending']; + $ret = trim($ret, '/'); + + if ( isset($params['url_ending']) ) { + if ($ret) { + $ret .= $params['url_ending']; + } + unset($params['url_ending']); } - else { - $ret = trim($ret, '/') . MOD_REWRITE_URL_ENDING; + elseif ($ret) { + $ret .= MOD_REWRITE_URL_ENDING; } if ($env) { Index: units/helpers/mod_rewrite_helper.php =================================================================== --- units/helpers/mod_rewrite_helper.php (revision 14350) +++ units/helpers/mod_rewrite_helper.php (working copy) @@ -514,9 +514,9 @@ $template = 'index'; } - // remove template from url if it is category index cached template - if (($template == $category_template) || (mb_strtolower($template) == '__default__')) { - // given template is also default template for this category or '__default__' given + // remove template from url if it is category index cached template OR site homepage + if (($template == $category_template) || (mb_strtolower($template) == '__default__') || ($template == 'index')) { + // given template is also default template for this category OR '__default__' given OR site homepage $params['pass_template'] = false; }