Як змінити основну URL-адресу?


15

У Drupal 7 ми можемо швидко змінити базову URL-адресу веб-сайту.
Як я можу це зробити в Drupal 8?

Відповіді:


14

У Drupal 8 цю опцію було видалено. Вам не потрібно налаштовувати base_urlдля запуску свого сайту. Drupal 8 може виявити це без вашої допомоги. Якщо ні, то спочатку слід перевірити конфігурацію веб-сервера.

Замість base_urlвас слід налаштувати trusted_host_patternsв settings.php. Це не потрібно для запуску сайту, але важливо з міркувань безпеки.

Детальніше: Видалено параметр base_url з settings.php та Нове налаштування для конфігурації довіреного імені хоста

Редагувати:

Існують деякі спеціальні випадки використання під час запуску drupal з командного рядка або зворотного проксі, які раніше використовували $ base_url. Це більше не можна підтримувати так само через симфонію. Йде дискусія про те, як забезпечити рішення для цих випадків. Це не означає, що ви не можете запустити drupal з командного рядка або зворотного проксі. Стандартний спосіб, звичайно, можливий без проблем.

Ви можете стежити за розвитком тут: https://www.drupal.org/node/2753591


1
Вибачте, але ця відповідь частково вводить в оману. Ви можете мати ідеально налаштовану конфігурацію веб-сервера і все ще потребуєте base_url. $ Base_url також повертається сюди: drupal.org/node/2753591
Fidelix

У той час, коли я написав відповідь $ base_url вже не було. Якщо він повертається, добре. Але в більшості випадків вам це справді не потрібно, якщо ви налаштовуєте кілька установок на одному хості з vhosts та dns, які більшість спільних середовищ хостингу пропонують як стандартний параметр конфігурації.
4k4

Домовились. Але оманливо сказати, що конфігурація веб-сервера порушена, якщо вам потрібно $ base_url. Існує маса дійсних випадків використання, які вимагають $ base_url.
Fidelix

2
Це була мотивація , щоб видалити $ base_url: drupal.org/node/2528988 (досхочу дійсного випадок використання: ви можете перемістити Друпал 8 в підкаталоги в будь-який час , і він розпізнає це при наступному запиті без зміни конфігурації)
4k4

Гаразд, я бачу зараз у пов'язаній нитці вашу точку, я зміню відповідь.
4k4

5

Я думав, що колись потрібні певні налаштування під час переміщення між виробництвом (http: // example.com/) та dev (http: // localhost / ~ aviram / example.com /). Але ні, D8 досить розумний, щоб автоматично виправляти посилання.

Після переміщення повного сайту (файлів PHP та скидання БД) просто перейдіть до процесу оновлення бази даних D8 ( http://example.com/update.php ), навіть якщо оновлення для моделі бази даних немає. Це вирішує проблему.

Я дізнався, що це проблема кешу Drupal 8, ймовірно, тому, що деякий попередньо виведений вміст зберігається на сайтах / default / files / php /. І процес update.php якось очищає цей кеш.


1
Так, /update.php завжди очищає кеш, навіть якщо оновлення не потрібно запускати. Це приємний трюк, щоб запустити сайт після його переміщення на нове місце, якщо ви не хочете чи не можете отримати доступ до іншого способу очищення кешу.
4k4
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.