Jak zmienić podstawowy adres URL?

15

W Drupal 7 możemy szybko zmienić podstawowy adres URL strony.
Jak mogę to zrobić w Drupal 8?

Matthieu Lopez
źródło

Odpowiedzi:

14

W Drupal 8 ta opcja została usunięta. Nie musisz konfigurować, base_urlaby uruchomić swoją witrynę. Drupal 8 może to wykryć bez Twojej pomocy. Jeśli nie, najpierw sprawdź konfigurację swojego serwera.

Zamiast tego base_urlnależy skonfigurować trusted_host_patternsw settings.php. Nie jest to konieczne do uruchomienia witryny, ale jest ważne ze względów bezpieczeństwa.

Więcej informacji: Usunięto opcję base_url z settings.php i Nowe ustawienie konfiguracji zaufanej nazwy hosta

Edytować:

Istnieją pewne specjalne przypadki użycia podczas uruchamiania drupala z wiersza poleceń lub odwrotnego proxy, który w przeszłości używał $ base_url. Nie można tego już obsługiwać w ten sam sposób z powodu symfony. Trwa dyskusja na temat tego, jak zapewnić rozwiązanie dla tych przypadków. Nie oznacza to, że nie możesz uruchomić drupala z wiersza poleceń lub odwrotnego proxy. Standardowy sposób jest oczywiście możliwy bez problemów.

Możesz śledzić rozwój tutaj: https://www.drupal.org/node/2753591

4k4
źródło
1
Przepraszamy, ale ta odpowiedź jest częściowo myląca. Możesz mieć idealnie poprawną konfigurację serwera WWW i nadal potrzebujesz base_url. $ base_url również wraca tutaj: drupal.org/node/2753591
Fidelix
W chwili, gdy napisałem odpowiedź, $ base_url zniknął. Jeśli wraca, OK. Ale w większości przypadków nie potrzebujesz tego, jeśli konfigurujesz wiele instalacji na tym samym hoście za pomocą vhostów i dns, które większość współdzielonych środowisk hostingowych oferuje jako standardową opcję konfiguracji.
4k4
Zgoda. Ale mylące jest twierdzenie, że konfiguracja serwera WWW jest zepsuta, jeśli potrzebujesz $ base_url. Istnieje wiele prawidłowych przypadków użycia, które gwarantują $ base_url.
Fidelix
2
To była motywacja do usunięcia $ base_url: drupal.org/node/2528988 (wiele ważnych przypadków użycia: możesz przenieść drupal 8 do podkatalogów w dowolnym momencie i rozpozna to przy następnym żądaniu bez zmian konfiguracji)
4k4
OK, teraz widzę w twoim wątku twój punkt, zmienię odpowiedź.
4k4
5

Pomyślałem, że kiedyś potrzebne były jakieś poprawki w trakcie przechodzenia między produkcją (http: // example.com/) a dev (http: // localhost / ~ aviram / example.com /). Ale nie, D8 jest wystarczająco inteligentny, aby automatycznie naprawić linki.

Po przeniesieniu kompletnej witryny (pliki PHP i zrzut DB) wystarczy przejść proces aktualizacji bazy danych D8 ( http://example.com/update.php ), nawet jeśli nie ma aktualizacji modelu bazy danych. To rozwiązuje problem.

Dowiedziałem się, że jest to problem związany z pamięcią podręczną Drupala 8, prawdopodobnie dlatego, że niektóre wstępnie renderowane treści są przechowywane w witrynach / default / files / php /. A proces update.php w jakiś sposób czyści tę pamięć podręczną.

Avibrazil
źródło
1
Tak, /update.php zawsze usuwa pamięć podręczną, nawet jeśli nie ma żadnych aktualizacji do uruchomienia. To dobry sposób na uruchomienie witryny po przeniesieniu jej do nowego miejsca, jeśli nie chcesz lub nie możesz uzyskać dostępu do innej metody czyszczenia pamięci podręcznej.
4k4