Рейтинг:0

Drupal в подкаталоге за обратным прокси

флаг pl

На моем общедоступном хосте Apache работает как обратный прокси-сервер для непубличного хоста, где экземпляр Drupal 9 имеет символическую ссылку под корневым веб-узлом. Drupal отвечает на запросы, но выводит любые локальные ссылки с включенным именем символической ссылки. Видимо потому, что переменная запроса PHP $_SERVER['SCRIPT_NAME'] включает его.

Как мне сообщить Drupal о его «фактическом» базовом пути?

Детали

Конфигурация общедоступного хоста:

<Location "/">
  ProxyPreserveHost on
  ProxyPassReverse "https://otherserver/webb/"
</Location>

На другой сервер, мой домен пример.com это виртуальный хост с корнем в /var/www/sites/example.com/html. Есть эта симлинк Уэбб, указывая на местоположение Drupal:

/var/www/sites/example.com/html/web -> /var/www/sites/example.com/html/drupal8/web/

Drupal отвечает, но в ответном HTML ссылка, которая должна быть на вместо этого /вебб/о, и то же самое касается активов и т. д.

Если я повторю $_SERVER['SCRIPT_NAME'], Я получил /вебб/index.php.

vidarlo avatar
флаг ar
Это может быть [лучше подходит для Drupal SE] (https://drupal.stackexchange.com).
Рейтинг:0
флаг pl

Я исправил это, изменив REQUEST_URI и SCRIPT_NAME в настройки.php:

$trim_path = '/вебб';
если (isset($GLOBALS['запрос'])) {
  $запрос = $GLOBALS['запрос'];
  if ($request->server->get('SCRIPT_NAME') == "$trim_path/index.php") {
    $request->server->set('SCRIPT_NAME', '/index.php');
    $request_uri = substr($request->server->get('REQUEST_URI'), strlen($trim_path));
    $request->server->set('REQUEST_URI', $request_uri);
  }
}

Престижность Lightsurge за самое раннее упоминание об этой идее что я смог найти.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.