Проблема уже не на первом проекте на битриксе. Создается сайт, его принимают. А после, когда его берут в пользование, то включают кэш для оптимизации. Тут начинаются проблемы, которые иногда не поддаются пониманию. Косяки, которые обычно выплывают:
1. Поплыла верстка. (В инспекторе все впорядке. Но визуально блоки съезжают да так, будто где то тэги не позыкрывали. Хотя валидация проходит успешно)
2. Даже при отключенном кэше информация после правок не обновляется пока не сбросиш кэш страницы через панель битрикса. При этом пробуешь даже с жесткой перезагрузкой страницы браузера. Результата нет пока не не очистишь кэш страницы.
3. Когда правил .htaccess и добавлял возможность добавления слэша в конец урла, дошло до того, что все страницы выводились с 404 ошибкой. Работало только в инкогнито (и по сей день работает только там). Можно конечно сказать "раз в инкогнито работает, а без - нет, то это проблема браузера". Несомненно может и проблема браузера. Но возникает это проблема после правок на сайте. И ответ заказчику "это проблема браузера", который заплатил деньги за лицензию и разработку ну такое себе.
пример поправленной части .htaccess
4. Опять же по поводу правленного .htaccess. Спустя некоторое время во всем каталоге начала появляться на все запросы 404 страница. после эксперементов данная проблема пропала после того как был закомменчен следующий код в файле section.php шаблона каталога:
Очень нужны мануалы по работе с кэшом. Так как заказчикам мы не можем даже внятного ответа дать, что происходит с его сайтом
1. Поплыла верстка. (В инспекторе все впорядке. Но визуально блоки съезжают да так, будто где то тэги не позыкрывали. Хотя валидация проходит успешно)
2. Даже при отключенном кэше информация после правок не обновляется пока не сбросиш кэш страницы через панель битрикса. При этом пробуешь даже с жесткой перезагрузкой страницы браузера. Результата нет пока не не очистишь кэш страницы.
3. Когда правил .htaccess и добавлял возможность добавления слэша в конец урла, дошло до того, что все страницы выводились с 404 ошибкой. Работало только в инкогнито (и по сей день работает только там). Можно конечно сказать "раз в инкогнито работает, а без - нет, то это проблема браузера". Несомненно может и проблема браузера. Но возникает это проблема после правок на сайте. И ответ заказчику "это проблема браузера", который заплатил деньги за лицензию и разработку ну такое себе.
пример поправленной части .htaccess
Код |
---|
<IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On #добавляет слэш в конец RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}] </IfModule> |
4. Опять же по поводу правленного .htaccess. Спустя некоторое время во всем каталоге начала появляться на все запросы 404 страница. после эксперементов данная проблема пропала после того как был закомменчен следующий код в файле section.php шаблона каталога:
Код |
---|
// $obCache = new CPHPCache(); // if ($obCache->InitCache(36000, serialize($arFilter), "/iblock/catalog")) // { // $arCurSection = $obCache->GetVars(); // } // elseif ($obCache->StartDataCache()) // { $arCurSection = array(); if (Loader::includeModule("iblock")) { $dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID")); $arCurSection = $dbRes->Fetch(); // if(defined("BX_COMP_MANAGED_CACHE")) // { // global $CACHE_MANAGER; // $CACHE_MANAGER->StartTagCache("/iblock/catalog"); // // if ($arCurSection = $dbRes->Fetch()) // $CACHE_MANAGER->RegisterTag("iblock_id_".$arParams["IBLOCK_ID"]); // // $CACHE_MANAGER->EndTagCache(); // } // else // { // if(!$arCurSection = $dbRes->Fetch()) // $arCurSection = array(); // } } // $obCache->EndDataCache($arCurSection); // } |
Очень нужны мануалы по работе с кэшом. Так как заказчикам мы не можем даже внятного ответа дать, что происходит с его сайтом