1. Главная
  2. Форумы
  3. Техподдержка Drupal
  4. Решение проблем

Как убрать у картинок окончание ?itok=sTClOItK

Главные вкладки

Аватар пользователя biozz biozz 6 сентября 2014 в 23:29

Добрый день, помогите решить задачу. У меня Drupal 7.31 и в конце всех стилей изображений вот такого рода окончания ?itok=sTClOItK, я нашел что это своего рода защита, но из-за этого гугл совсем не хочет кешировать изображения на сайте. Находил решения такого рода
1. Установить модуль https://www.drupal.org/project/image_allow_insecure_derivatives
2. Добавить строку в seting.php $conf['image_allow_insecure_derivatives'] = TRUE;
Но это не помогает, видимо решение для версий ниже.

Подскажите или помогите, так как вопрос очень важный. Готов даже заплатить за решение в таком случаи пишите в приват.

Лучший ответ

Комментарии

Аватар пользователя biozz biozz 21 июля 2017 в 20:32

Спс помогло, если кому интересно добавил к модулю https://www.drupal.org/project/image_allow_insecure_derivatives в файле image_allow_insecure_derivatives.module вниз

<?php
function image_allow_insecure_derivatives_preprocess_image(&$vars) {
// If there is really a path and the image is processed as image style, we
// remove the ?tok=... part from the url.
if (isset($vars['path']) && !empty($vars['style_name'])) {
$vars['path'] = image_allow_insecure_derivatives_image_style_url_detok($vars['path']);
}
}

function

image_allow_insecure_derivatives_image_style_url_detok($uri) {
// Do not change the url if insecure derivatives are not allowed.
$insecure = variable_get('image_allow_insecure_derivatives', FALSE);
if (!
$insecure) {
return
$uri;
}
$parts = drupal_parse_url($uri);
// We remove the itok from the query.
if (isset($parts['query'][IMAGE_DERIVATIVE_TOKEN])) {
unset(
$parts['query'][IMAGE_DERIVATIVE_TOKEN]);
}
// There should not be any fragment or query, so we simply can return the
// already processed path.
if (empty($uri['query']) && empty($uri['fragment'])) {
return
$parts['path'];
}
// Else build the path again.
return url($parts['path'], $parts);
}
?>

Сбросил кэш и заработало.

Аватар пользователя vkwebsite vkwebsite 8 августа 2021 в 19:05

Модуль - filefield_paths -
https://www.drupal.org/project/filefield_paths

ФАЙЛ - filefield_paths.module

// Newer versions of the Image module add an 8 character token which is
// required if the image style hasn't been generated yet.
$itok = '';
if (defined('IMAGE_DERIVATIVE_TOKEN')) {
$itok = '((?:[\?|&](?:\S+?&)*|(?:%3F|%26)(?:\S+?%26)*)' . IMAGE_DERIVATIVE_TOKEN . '(?:=|%3D)(\S{8}))*';
}

// Build regular expression pattern.
$pattern = "/({$prefixes})({$styles})*({$paths}){$itok}/";

Имееться - $itok =

Логотип drupal.ru

Содержимое сайта публикуется на условиях CreativeCommons Attribution-ShareAlike 3.0 или более поздней версии. Программные коды в тексте статей — на условиях GNU GPL v2 или более поздней версии.

Документация по совместной работе с репозиторием drupal.ru – https://docs.drupal.ru/code

Drupal – торговая марка Дриса Бёйтарта

12+

AltStyle によって変換されたページ (->オリジナル) /