Wie ändere ich die Basis-URL?

15

In Drupal 7 können wir die Basis-URL der Website schnell ändern.
Wie kann ich das in Drupal 8 machen?

user2137454
quelle

Antworten:

14

In Drupal 8 wurde diese Option entfernt. Sie müssen nicht konfigurieren base_url, um Ihre Site auszuführen. Drupal 8 kann dies ohne Ihre Hilfe erkennen. Wenn nicht, sollten Sie zuerst Ihre Webserverkonfiguration überprüfen.

Stattdessen base_urlsolltest du trusted_host_patternsin settings.php konfigurieren . Dies ist für den Betrieb der Site nicht erforderlich, aber aus Sicherheitsgründen wichtig.

Weitere Informationen: Die Option base_url wurde aus settings.php und der neuen Einstellung für die Konfiguration von vertrauenswürdigen Hostnamen entfernt

Bearbeiten:

Es gibt einige spezielle Anwendungsfälle beim Ausführen von Drupal über die Befehlszeile oder den Reverse-Proxy, bei denen in der Vergangenheit $ base_url verwendet wurde. Dies kann aufgrund von Symfony nicht mehr auf die gleiche Weise unterstützt werden. Es wird diskutiert, wie eine Lösung für diese Fälle gefunden werden kann. Dies bedeutet nicht, dass Sie Drupal nicht über die Befehlszeile oder den Reverse-Proxy ausführen können. Der Standardweg ist natürlich problemlos möglich.

Sie können die Entwicklung hier verfolgen: https://www.drupal.org/node/2753591

4k4
quelle
1
Sorry, aber diese Antwort ist teilweise irreführend. Sie können eine perfekt gültige Webserverkonfiguration haben und benötigen dennoch eine base_url. $ base_url kehrt auch hier zurück: drupal.org/node/2753591
Fidelix
Zu der Zeit, als ich die Antwort schrieb, war $ base_url weg. Wenn es zurückkommt, OK. In den meisten Fällen ist dies jedoch nicht erforderlich, wenn Sie mehrere Installationen auf demselben Host mit vhosts und dns konfigurieren, die in den meisten gemeinsam genutzten Hostingumgebungen als Standardkonfigurationsoption angeboten werden.
4. 4.
Einverstanden. Es ist jedoch irreführend zu sagen, dass die Webserverkonfiguration fehlerhaft ist, wenn Sie $ base_url benötigen. Es gibt viele gültige Anwendungsfälle, die $ base_url rechtfertigen.
Fidelix
2
Dies war die Motivation, $ base_url zu entfernen: drupal.org/node/2528988 (viel gültiger Anwendungsfall: Sie können Drupal 8 jederzeit in Unterverzeichnisse verschieben und es wird dies bei der nächsten Anforderung ohne Konfigurationsänderungen erkennen.)
4k4
OK, ich sehe jetzt im verlinkten Thread deinen Punkt, ich werde die Antwort ändern.
4. 4.
5

Ich dachte einmal, es wären Optimierungen erforderlich, wenn man zwischen Produktion (http: // example.com/) und Entwicklung (http: // localhost / ~ aviram / example.com /) wechseln wollte. Aber nein, D8 ist schlau genug, um Links automatisch zu reparieren.

Führen Sie nach dem Verschieben einer vollständigen Site (PHP-Dateien und DB-Dump) einfach den D8-Datenbankaktualisierungsprozess durch ( http://example.com/update.php ), auch wenn für das Datenbankmodell keine Aktualisierung vorhanden ist. Dies behebt das Problem.

Ich habe erfahren, dass dies ein Drupal 8-Cache-Problem ist, wahrscheinlich, weil vorgerenderte Inhalte in sites / default / files / php / gespeichert sind. Und der update.php-Prozess bereinigt irgendwie diesen Cache.

Avibrazil
quelle
1
Ja, /update.php löscht immer den Cache, auch wenn keine Updates ausgeführt werden müssen. Dies ist ein guter Trick, um eine Site zum Laufen zu bringen, nachdem Sie sie an einen anderen Ort verschoben haben, wenn Sie nicht auf eine andere Methode zum Löschen des Caches zugreifen möchten oder können.
4. 4.