Comment changer l'URL de base?

15

Dans Drupal 7, nous pouvons rapidement changer l'URL de base du site Web.
Comment puis-je faire cela, dans Drupal 8?

matthieu lopez
la source

Réponses:

14

Dans Drupal 8, cette option a été supprimée. Vous n'avez pas à configurer base_urlpour exécuter votre site. Drupal 8 peut détecter cela sans votre aide. Sinon, vous devez d'abord vérifier la configuration de votre serveur Web.

Au lieu de cela, base_urlvous devez configurer trusted_host_patternsdans settings.php. Ce n'est pas nécessaire pour faire fonctionner le site, mais c'est important pour des raisons de sécurité.

Plus d'informations: Suppression de l'option base_url de settings.php et Nouveau paramètre pour la configuration du nom d'hôte approuvé

Éditer:

Il existe des cas d'utilisation spéciaux lors de l'exécution de drupal à partir de la ligne de commande ou du proxy inverse, qui utilisaient $ base_url dans le passé. Cela ne peut plus être supporté de la même manière à cause de symfony. Il y a une discussion sur la façon de fournir une solution pour ces cas. Cela ne signifie pas que vous ne pouvez pas exécuter drupal à partir de la ligne de commande ou du proxy inverse. La voie standard est bien sûr possible sans problème.

Vous pouvez suivre le développement ici: https://www.drupal.org/node/2753591

4k4
la source
1
Désolé mais cette réponse est partiellement trompeuse. Vous pouvez avoir une configuration de serveur Web parfaitement valide et avoir toujours besoin d'une base_url. $ base_url revient également ici: drupal.org/node/2753591
Fidelix
Au moment où j'ai écrit la réponse, $ base_url avait disparu. S'il revient, OK. Mais la plupart du temps, vous n'en avez vraiment pas besoin, si vous configurez plusieurs installations sur le même hôte avec des vhosts et des DNS, que la plupart des environnements d'hébergement partagés offrent comme option de configuration standard.
4k4
D'accord. Mais il est trompeur de dire que la configuration du serveur Web est rompue si vous avez besoin de $ base_url. Il existe de nombreux cas d'utilisation valides qui garantissent $ base_url.
Fidelix
2
C'était la motivation pour supprimer $ base_url: drupal.org/node/2528988 (beaucoup de cas d'utilisation valides: vous pouvez déplacer drupal 8 vers des sous-répertoires à tout moment et il le reconnaîtra à la prochaine demande sans modifications de configuration)
4k4
OK, je vois maintenant dans le fil lié votre point, je vais changer la réponse.
4k4
5

Je pensais qu'une fois une sorte de réglages était nécessaire lors du passage entre la production (http: // example.com/) et le dev (http: // localhost / ~ aviram / example.com /). Mais non, D8 est assez intelligent pour réparer automatiquement les liens.

Après avoir déplacé un site complet (fichiers PHP et vidage de base de données), passez simplement par le processus de mise à jour de la base de données D8 ( http://example.com/update.php ) même s'il n'y a pas de mise à jour pour le modèle de base de données. Cela résout le problème.

J'ai appris qu'il s'agit d'un problème lié au cache Drupal 8 probablement parce que du contenu pré-rendu est conservé dans sites / default / files / php /. Et le processus update.php nettoie en quelque sorte ce cache.

avibrazil
la source
1
Oui, /update.php efface toujours le cache, même s'il n'y a aucune mise à jour à exécuter. C'est une bonne astuce pour faire fonctionner un site après l'avoir déplacé vers un nouvel emplacement, si vous ne voulez pas ou ne pouvez pas accéder à une autre méthode pour vider le cache.
4k4