Как убрать у картинок окончание ?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;
Но это не помогает, видимо решение для версий ниже.

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

Лучший ответ

Аватар пользователя PVasili PVasili 21 июля 2017 в 20:31
1

settings.php

<?php
$conf
['image_suppress_itok_output'] = TRUE;
$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 =

Аватар пользователя VasyOK VasyOK 22 сентября 2021 в 14:17

А что там прописать? Ссылку на документацию можно? Или что в Гугл вбить чтоб на документацию перейти?