dans le tempate.php du theme, ajouter :
function THEMENAME_preprocess_page(&$variables) {
$status = drupal_get_http_header("status");
if($status == "404 Not Found") {
$variables['theme_hook_suggestions'][] = 'page__404';
}
}
snippet trouvé ici : http://www.dejaaugustine.com/2011/07/drupal-7-custom-404-page-template/
et voici l'équivalent pour Drupal 6 :
function THEMENAME_preprocess_page(&$variables) {
if(stripos(drupal_get_headers(), "404 Not Found") !== false) {
$variables['template_file'] = 'page-404';
}
}