theme_get_suggestions () , which is called from template_preprocess_page () as theme_get_suggestions(arg(), 'page') , contains the following code:
if (drupal_is_front_page()) { // Front templates should be based on root only, not prefixed arguments. $suggestions[] = $base . $delimiter . 'front'; }
$base contains "page" and $delimiters contains "__" . Since underscores are replaced with hyphens, the template file name for the first page should be on the page - front.tpl.php (two hyphens instead of one).
source share