Drupal 8: Как предотвратить кеширование в Drupal httpClient неверных результатов, таких как бесконечные перенаправления - PullRequest
0 голосов
/ 03 октября 2018

(1) убедитесь, что у вас есть страница вне Drupal, которая зацикливается на бесконечном перенаправлении, например, на http://example.com,, добавив это в .htaccess:

RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^ http://example.com%{REQUEST_URI} [L,R=301]

(2)Запустите следующий код:

try {
  $uri = 'http://example.com';
  $options['query'] = [
    '_format' => 'json',
  ];
  $options['headers'] = [
     'Accept' => 'application/json',
  ];
  dpm(json_decode((string) \Drupal::httpClient()->get($uri, $options)->getBody(), TRUE));
}
catch (\Exception $e) {
  dpm($e->getMessage());
}

(3) Подтвердите, что вы видите «Не будет следовать более 5 перенаправлений»

(4) Удалите код, который зацикливается на бесконечное перенаправление

(5) Снова запустите код на 2 и выше, и вы все равно увидите «Не будет следовать более 5 перенаправлений»

(6) Очистка кэша Drupal ничего не делает.

...