Si vous travaillez avec Drupal, vous tomberez un jour ou l'autre sur cette erreur: "The provided host name is not valid for this server".
Qu'est-ce que ça signifie? comment y remédier?
On vous explique tout!
Ce message d'erreur est du à une fonctionnalité de sécurité qui a été ajoutée à Drupal 8.
Auparavant, des petits malins pouvaient manipuler l'en-tête HTTP Host et ainsi tromper Drupal en utilisant un nom de domaine différent. En d'autres termes, votre site Drupal pouvait être dupé en lui faisant croire qu'il est hébergé sur un autre nom de domaine.
Pour éviter cela, Drupal s'est inspiré vers le framework Symfony qui offrait déjà un mécanisme de liste blanche de noms d'hôte fiables, permettant aux administrateurs de site de les autoriser.
Ainsi, les administrateurs de site peuvent autoriser uniquement les noms d'hôte qu'ils jugent fiables.
Les noms d'hôte fiables peuvent maintenant être configurés dans Drupal via un nouveau paramètre dans le fichier settings.php. Ouvrez votre fichier settings.php et cherchez le paramètre suivant:
$settings['trusted_host_patterns']
Selon la documentation, vous devez utiliser un tableau de motifs d'expressions régulières, sans délimiteurs, représentant les noms d'hôte que vous souhaitez autoriser.
Par exemple, si vous souhaitez exécuter votre site Drupal uniquement à partir de www.mondomaine.com, vous devez ajouter ceci dans votre fichier settings.php :
$settings['trusted_host_patterns'] = array( '^www\.mondomaine\.com$', );
Ou, par exemple, si vous souhaitez exécuter votre site Drupal à partir de *.mondomaine.com et *.mondomaine.org, votre fichier settings.php devra inclure ceci :
$settings['trusted_host_patterns'] = array( '^mondomaine\.com$', '^.+\.mondomaine\.com$', '^mondomaine\.org', '^.+\.mondomaine\.org', );
Vous pouvez créer toutes sortes de règles en utilisant ces motifs d'expressions régulières. Par exemple, pour les environnements de développement local, vous pouvez ajouter les lignes suivantes dans votre local.settings.php :
$settings['trusted_host_patterns'] = array( '^127\.0.\0.\1$', '^localhost$', '^mondomaine\.loc$', );
Voilà, vous savez maintenant comment résoudre l'erreur "The provided host name is not valid for this server" dans Drupal.
Vous pourrez profiter pleinement de votre site Drupal sans soucis. Bonne chance et que votre site prospère en toute tranquillité !