Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
«8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
Сертифицированный партнёр 1С-Битрикс
+7 495 788 88 03
+7 495 788 88 03
Заказать звонок
E-mail
customer@8cores.ru
Адрес
г. Москва, ул. Окская, 20к2, пом. 5/1
Режим работы
Пн. – Пт.: с 10:00 до 19:00 (мск)
Подать заявку
Продукты
  • Готовые сайты
    • Интернет-магазины
    • Корпоративные сайты
    • Отраслевые сайты
  • Лицензии 1С-Битрикс
  • Продления лицензий
  • Бизнес под ключ
    • Регистрация ИП/ООО
    • Расчётный счёт
    • Деньги на развитие бизнеса
Услуги
  • Разработка сайтов и приложений
    • Запуск сайта на готовом решении 1С-Битрикс
    • Хостинг. Регистрация доменов
    • Разработка сайтов
    • Перенос сайта на 1С-Битрикс
  • Интеграция
    • Интеграция сайта с 1С
    • Интеграция с CRM Битрикс24
    • ERP для Производственной компании
  • Поддержка
    • Техническая поддержка
    • Доработка существующего сайта
  • Дизайн
    • Разработка дизайна сайта
  • Информационная безопасность
    • Проверка сайта и удаление вирусов
  • Импорт/Парсинг
Блог
Компания
  • О компании
  • Как мы работаем
  • Сертификаты
  • Реквизиты
  • Документы
  • Партнёры
  • Вакансии
Контакты
Техподдержка
Москва
«8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
Сертифицированный партнёр 1С-Битрикс
Продукты
  • Готовые сайты
    Готовые сайты
  • Лицензии 1С-Битрикс
    Лицензии 1С-Битрикс
  • Продления лицензий
    Продления лицензий
  • Бизнес под ключ
    Бизнес под ключ
Услуги
  • Разработка сайтов и приложений
    Разработка сайтов и приложений
  • Интеграция
    Интеграция
  • Поддержка
    Поддержка
  • Дизайн
    Дизайн
  • Информационная безопасность
    Информационная безопасность
  • Импорт/Парсинг
    Импорт/Парсинг
Блог
Компания
  • О компании
  • Как мы работаем
  • Сертификаты
  • Реквизиты
  • Документы
  • Партнёры
  • Вакансии
Контакты
Техподдержка
    Москва
    +7 495 788 88 03
    +7 495 788 88 03
    E-mail
    customer@8cores.ru
    Адрес
    г. Москва, ул. Окская, 20к2, пом. 5/1
    Режим работы
    Пн. – Пт.: с 10:00 до 19:00 (мск)
    «8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
    Продукты
    • Готовые сайты
      Готовые сайты
    • Лицензии 1С-Битрикс
      Лицензии 1С-Битрикс
    • Продления лицензий
      Продления лицензий
    • Бизнес под ключ
      Бизнес под ключ
    Услуги
    • Разработка сайтов и приложений
      Разработка сайтов и приложений
    • Интеграция
      Интеграция
    • Поддержка
      Поддержка
    • Дизайн
      Дизайн
    • Информационная безопасность
      Информационная безопасность
    • Импорт/Парсинг
      Импорт/Парсинг
    Блог
    Компания
    • О компании
    • Как мы работаем
    • Сертификаты
    • Реквизиты
    • Документы
    • Партнёры
    • Вакансии
    Контакты
    Техподдержка
      Москва
      +7 495 788 88 03
      E-mail
      customer@8cores.ru
      Адрес
      г. Москва, ул. Окская, 20к2, пом. 5/1
      Режим работы
      Пн. – Пт.: с 10:00 до 19:00 (мск)
      «8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
      Телефоны
      +7 495 788 88 03
      «8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
      • Продукты
        • Продукты
        • Готовые сайты
          • Готовые сайты
          • Интернет-магазины
          • Корпоративные сайты
          • Отраслевые сайты
        • Лицензии 1С-Битрикс
        • Продления лицензий
        • Бизнес под ключ
          • Бизнес под ключ
          • Регистрация ИП/ООО
          • Расчётный счёт
          • Деньги на развитие бизнеса
      • Услуги
        • Услуги
        • Разработка сайтов и приложений
          • Разработка сайтов и приложений
          • Запуск сайта на готовом решении 1С-Битрикс
          • Хостинг. Регистрация доменов
          • Разработка сайтов
          • Перенос сайта на 1С-Битрикс
        • Интеграция
          • Интеграция
          • Интеграция сайта с 1С
          • Интеграция с CRM Битрикс24
          • ERP для Производственной компании
        • Поддержка
          • Поддержка
          • Техническая поддержка
          • Доработка существующего сайта
        • Дизайн
          • Дизайн
          • Разработка дизайна сайта
        • Информационная безопасность
          • Информационная безопасность
          • Проверка сайта и удаление вирусов
        • Импорт/Парсинг
      • Блог
      • Компания
        • Компания
        • О компании
        • Как мы работаем
        • Сертификаты
        • Реквизиты
        • Документы
        • Партнёры
        • Вакансии
      • Контакты
      • Техподдержка
      • +7 495 788 88 03
        • Телефоны
        • +7 495 788 88 03
      • г. Москва, ул. Окская, 20к2, пом. 5/1
      • customer@8cores.ru
      • Пн. – Пт.: с 10:00 до 19:00 (мск)
      Главная
      —
      Блог
      —
      1С-Битрикс
      —ЧПУ пагинация

      ЧПУ пагинация

      чпу пагинация
      1С-Битрикс
      12 июля 2021
      СЕО специалисты часто просят в постраничной навигации на сайте убрать get параметры. В Битрикс из коробки именно через ?PAGEN_ реализована пагинация и штатной возможности включить ЧПУ для пагинации нет.
      Нам нужно привести ссылки навигации по страницам раздела к виду:
      /путь_раздела/page-2/
      

      Изменяем шаблон пагинации компонента system.pagenavigation

      В шаблоне компонента system.pagenavigation, нужно включить буферезацию вывода, для этого перед HTML вставить вызов функции:
      ob_start();
      
      И после HTML, в конец файла шаблона, вставить php-скрипт для преобразования ссылок пагинации в ЧПУ:
      $paging = ob_get_contents();
      $paging = preg_replace_callback('/href="([^"]+)"/is', function($matches) {
          $url = $matches[1];
          $newUrl = '';
          if ($arUrl = parse_url($url)) {
              $newUrl .= $arUrl['path'];
      	     if (substr($newUrl, -1) != '/') {
      			$newUrl .= '/';
      	     }
      	$newUrl = preg_replace('#(page-[\d]+/)#is', '', $newUrl);
              $newUrl = str_replace(array('index.php', 'index.html'), '', $newUrl);
              parse_str(htmlspecialcharsback($arUrl['query']), $arQuery);
              foreach ($arQuery as $k => $v) {
                  if (in_array($k, array('SECTION_CODE'))) {
                      unset($arQuery[$k]);
                  } elseif (substr($k, 0, 5)=='PAGEN') {
                      $newUrl .= 'page-'.intval($v).'/';
                      unset($arQuery[$k]);
                  }
              }
              $buildQuery = http_build_query($arQuery, '', '&');
              if (strlen($buildQuery)) {
                  $newUrl .= '?'.$buildQuery;
              }
          }
          return 'href="'.$newUrl.'"';
      }, $paging);
      ob_end_clean();
      echo $paging;
      

      Создать файл /bitrix/pagen.php с кодом для обработки URL

      function __isPathTraversalUri($uri)
      {
          if (($pos = strpos($uri, '?')) !== false) {
              $uri = substr($uri, 0, $pos);
          }
          $uri = trim($uri);
          return preg_match("#(?:/|2f|^|\\\\|5c)(?:(?:%0*(25)*2e)|\\.){2,}(?:/|%0*(25)*2f|\\\\|%0*(25)*5c|$)#i", $uri) ? true : false;
      }
      
      $newUri = preg_replace('#(page-[\d]+/)#is', '', $_SERVER['REQUEST_URI']);
      if (!__isPathTraversalUri($newUri)) {
          $_SERVER['REQUEST_URI'] = $newUri;
      }
      

      Подключить обработчик ЧПУ пагинации в .htaccess

      php_value auto_prepend_file "путь_document_root/сайт.ру/bitrix/pagen.php"
      
      И так же в .htaccess добавить правило:
      RewriteEngine On
      RewriteRule ^(.*)/page-([\d]+)/ /$1/?PAGEN_1=$2 [L,QSA]
      
      Данное решение работает для Битрикс версий 15.5 и выше.
      • Комментарии
      Загрузка комментариев...
      чпу пагинация htaccess php битрикс
      Назад к списку
      • 1С Администрирование 2
      • 1С-Битрикс 17
      • HTML/CSS 1
      • jQuery 1
      • PHP 2
      • Оптимизация 9
      1с 1С ajax apache api bitrix clean-param CRM cron curl etext get google htaccess html jivo jquery json market marketplace nginx openserver PageSpeed php php8 post robots robots.txt search seo web агенты администрирование артикул аспро битрикс боты вирус директория защита каталог композит кэш логи магазин маркетплейс метрика модальные окна настройка обмен онлайн консультант оптимизация ордер ошибки пагинация папка парсинг поиск покупка сервера склад скрипт спам страница тестирование троян ускорение установка ут цвета чпу юkassa яндекс
      Продукты
      Услуги
      Компания
      Блог
      Контакты
      +7 495 788 88 03
      +7 495 788 88 03
      E-mail
      customer@8cores.ru
      Адрес
      г. Москва, ул. Окская, 20к2, пом. 5/1
      Режим работы
      Пн. – Пт.: с 10:00 до 19:00 (мск)
      customer@8cores.ru
      г. Москва, ул. Окская, 20к2, пом. 5/1
      © 2010-2023 «8 Ядер» - веб-студия полного цикла
      Политика конфиденциальности