User Tools

Site Tools


Writing /home/user/smartcj.com/wiki/data/cache/8/8c77fa4733ea812737d678e97cc2197a.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/user/smartcj.com/wiki/data/cache/8/8c77fa4733ea812737d678e97cc2197a.metadata failed
ru:new_rotation_faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ru:new_rotation_faq [2022/12/12 02:05] – [Case Sensitive URLs] adminru:new_rotation_faq [2026/02/24 23:58] (current) – [Filter request parameters] admin
Line 183: Line 183:
  
  
-===== Почему у меня на старнице пустое облако тагов =====+===== Почему у меня на странице пустое облако тагов =====
  
 Облако тагов генерится из активных тагов раз в 30 минут и кладется в кеш. Соответственно варианты: Облако тагов генерится из активных тагов раз в 30 минут и кладется в кеш. Соответственно варианты:
Line 240: Line 240:
   - Смотрим в rot_linked_db номер слейва, который мы отсоединяем (Х)   - Смотрим в rot_linked_db номер слейва, который мы отсоединяем (Х)
   - Отсоединяем нужный слейв от мастера   - Отсоединяем нужный слейв от мастера
-  - Заливаем в базу бывшего слева (дамп) из пункта 1, но только таблицы rot_* +  - Заливаем в базу бывшего слева (дамп) из пункта 1, но только таблицы rot_gallery_info, rot_gallery_statsX, rot_gallery_dataX и rot_thumbs 
-  - Удаляем все rot_gallery_stats* кроме номера из п2 +  - rot_gallery_statsХ переименовываем в rot_gallery_stats1, rot_gallery_dataX - в rot_gallery_data1 
-  - rot_gallery_statsХ переименовываем в rot_gallery_stats1 +
-  В rot_linked_db удаляем все записи кроме записи с ИД 0+
  
  
Line 270: Line 269:
  
  
 +===== Category statuses =====
 +
 +У категорий 3 статуса: 
 +
 +  - активна - выводится в <category и галеры из нее выводятся в <thumb
 +  - не актвна - не выводится в <category и галеры из нее не выводятся в <thumb
 +  - hidden - **не выводится** в <category, но галеры из нее выводятся в <thumb
 ===== Как импортировать очень большой дамп ===== ===== Как импортировать очень большой дамп =====
  
Line 538: Line 544:
  
 Так же есть опция "Log empty search queries " и если по запросу ничео не найдено то логгить его не будет. Так же есть опция "Log empty search queries " и если по запросу ничео не найдено то логгить его не будет.
 +
 +
 +После апдейта в настройка ротации добавлена опция которая делает тоже самое
 +
 +<code>
 +Search query filter pattern (regexp)
 +we use php preg-replace function to replace non-valid characters in user input
 +ie when a surfer searches on your site
 +a good pattern to start is
 +/[^\p{L}\p{N}\s]/
 +
 +</code>
 ===== Multiniche trade ===== ===== Multiniche trade =====
  
Line 645: Line 663:
   - сменить URL to thumbs в CJ settings - grabber settings   - сменить URL to thumbs в CJ settings - grabber settings
  
 +====== Full page cache ======
 +
 +Для высоконагруженных сайтов значительно помогает кешить страницы в уже выполненном виде. Например, у нас есть темплейт 
 +
 +<code>
 +
 +<thumb num=1-2>
 +<!--THUMB_URL--> 
 +</thumb>
 +
 +<?php
 +echo "date: " . date("Y-m-d");
 +?>
 +
 +</code>
 +
 +
 +Скрипт парсит темплейт и заменяет данными из базы и кладет в кеш, что б для следующего серфера, который будет смотреть эту же страницу уже не заменять таги скрипта
 +
 +<code>
 +
 +/thumbs/img1.jpg
 +/thumbs/img2.jpg
 +
 +<?php
 +echo "date: " . date("Y-m-d");
 +?>
 +
 +</code>
 +
 +
 +при этом пхп код кешится в исходном виде. Те для каждого серфера этот пхп код будет выполняться.
 +
 +В большинстве случаев это мелочи по нагрузке, однако при большом трафе, когда надо снизить нагрузку на проц, можно кешировать и пхп код, те страница будет закешена уже с выполненном виде, например
 +
 +<code>
 +
 +/thumbs/img1.jpg
 +/thumbs/img2.jpg
 +
 +date: 2023-01-01
 +
 +</code>
 +
 +
 +В большинстве случаев - это ок, тк результат выполнения кода одинаковый для всех серферов.
 +
 +Однако бывают редкие ситуации когда в темплейте есть код, который должен быть выполнен для каждого юзера тк зависит например от текущего IP пользователя. Для этого есть опция 
 +
 +  $config['full_page_cache'] = true;
 +
 +
 +В этом случае в темплейте можно использовать таг
 +
 +<code>
 +<php_code no_cache=true>
 +<?php
 +echo "user IP: " . $_SERVER['REMOTE_ADDR'];
 +?>
 +</php_code>   
 +</code>
 +
 +и именно этот код не будет закеширован.
 +
 +
 +Например темплейт
 +
 +<code>
 +
 +<thumb num=1-2>
 +<!--THUMB_URL--> 
 +</thumb>
 +
 +<?php
 +echo "Rand: " . rand(0, 100);
 +?>
 +
 +<php_code no_cache=true>
 +<?php
 +echo "user IP: " . $_SERVER['REMOTE_ADDR'];
 +?>
 +</php_code>   
 +
 +
 +</code>
 +
 +будет закешен как 
 +
 +
 +<code>
 +
 +/thumbs/img1.jpg
 +/thumbs/img2.jpg
 +
 +Rand: 22  (тут надо обратить внимание что этот пхп код закешен в выполненном виде)
 +
 +<?php
 +echo "user IP: " . $_SERVER['REMOTE_ADDR'];   
 +
 +// а тут пхп код в исходном виде и будет выполнен для каждого серфера
 +
 +?>
 +
 +
 +</code>
 +
 +
 +
 +Надо что надо обратить внимание при изменении темплейта под full_page_cache. Например, у вас код
 +
 +<code>
 +
 +<?php
 +$img_src_hash = md5($_SERVER['REMOTE_ADDR']);
 +?>
 +
 +<img_src='get_img.php?hash=<?=$img_src_hash?>'
 +
 +some more HTML
 +
 +</code>
 +
 +закешировать полностью мы не можем тк этот код должен быть разным для каждого серфера. Что бы хэш не кешировало хочется сделать
 +
 +<code>
 +
 +<php_code no_cache=true>
 +<?php
 +$img_src_hash = md5($_SERVER['REMOTE_ADDR']);
 +?>
 +</php_code>   
 +
 +
 +<img_src='get_img.php?hash=<?=$img_src_hash?>'
 +
 +some more HTML
 +
 +</code>
 +
 +однако тут надо обратить внимание на то, что get_img.php?hash=<?=$img_src_hash?> запишется в кеш уже в выполненном виде, условно get_img.php?hash=322jjJ!.... , те ту часть, где надо выводить оперативные данные так же надо переносить внутрь и код должен быть 
 +
 +
 +<code>
 +
 +<php_code no_cache=true>
 +<?php
 +$img_src_hash = md5($_SERVER['REMOTE_ADDR']);
 +?>
 +
 +<img_src='get_img.php?hash=<?=$img_src_hash?>'
 +
 +</php_code>   
 +
 +
 +some more HTML
 +
 +</code>
 +
 +
 +**Вероятные ошибки**
 +
 +Нельзя  включать <php_code no_cache=true> в другой блок <php_code no_cache=true>. Например, 
 +
 +
 +<code>
 +
 +<php_code no_cache=true>
 +<?php
 +$img_src_hash = md5($_SERVER['REMOTE_ADDR']);
 +?>
 +
 +some HTML
 +
 +<php_code no_cache=true>
 +
 +Another code
 +
 +</php_code>   
 +
 +more HTML
 +
 +
 +</php_code>   
 +
 +
 +some more HTML
 +
 +</code>
 +
 +
 +В этом случае это очевидно, но может быть вариант 
 +
 +
 +
 +<code>
 +
 +<php_code no_cache=true>
 +<?php
 +$img_src_hash = md5($_SERVER['REMOTE_ADDR']);
 +?>
 +
 +</php_code>   
 +
 +
 +<!--INCLUDE_TEMPLATE... 
 +
 +some more HTML
 +
 +</code>
 +
 +
 +в том темплейте который вы инклудите - так же есть <php_code no_cache=true>
 +
 +
 +====== GET variables pass-through ======
 +
 +Например, у вам пришел хит с параметром 
 +
 +  http://your_domain/?param=123
 +  
 +вы хотите этот param вывести где на странице что бы получилось например
 +
 +  <img src='https://your_tracker/?param=123'>
 +
 +все что надо сделать это в темплейте
 +
 +    <img src='https://your_tracker/?param=<!--GET_param-->'>
 +    
 +GET_param - будет заменен на актуальное значение
 +
 +====== Reset Models  ======
 +
 +Если у вас уже есть база галер, скажем в описаниях галер есть имена моделей. Сами модели просто добавлены в Rotation - Models.
 +
 +Задача назначить модели галерам (Rotation - special - Reset models)
 +
 +Поиск имени модели идет через встроенный поиск, настройки которого находятся в Rotation - Settings.
 +
 +Есть 3 варианта
 +
 +1. Просто mysql - ищем по " имя_модели ". тут важно отметить 2 пробела, потому что имя модели например Ola может быть частью ebola например. Проблема в то, что в дефолтной версии mysql не умеет искать даже в с учетом регистра букв
 +
 +2. Mysql fulltext - этот поиск уже умеет искать с учетом больших букв 
 +
 +3. Sphinx умеет искать с учетом регистра и даже разных окончаний
  
 +Поэтому если вам надо более качественное назначение моделей + более качественный поиск в целом, надо как минимум включать mysql fulltext
  
ru/new_rotation_faq.1670810717.txt.gz · Last modified: by admin