Администратор. Базовый
Основы администрирования
Система обработки адресов и ЧПУ
Особенности работы с правилами
Особенности работы с правилами
Урок
95
из
258
В уроке дадим вам рекомендации, как лучше писать правила обработки и что стоит учитывать. Так вам будет легче с ними работать.
Список рекомендаций
- Система допускает создание нескольких правил ЧПУ для одного файла. Лучше написать два-три понятных правила, чем объединить их через ИЛИ и сделать одно громоздкое правило «на все случаи жизни». Такое правило непонятно, как потом менять.
- Система сортирует все правила по условиям: сначала по алфавиту и длине. Правило с более длинным подходящим условием (CONDITION) применяется первым, как более частное. А затем уже правила с короткими условиями, как более общие.
Пример: правило для элемента
^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.*
будет применяться первым (как правило с более длинным условием) и, если условие не подходит, то применится правило для раздела с^/news/([0-9a-zA-Z_-]+)/.*
. - Рекомендуется всегда добавлять
.*
в конец Условия, если оно задано. Без «звёздочки» правило не будет работать при использовании параметров в URL. Например, при добавленном параметре?clear_cache=Y
. - Синтаксис регулярных выражений позволяет решать задачу разными способами. Пишите правила единообразно, так как из двух правил для раздела и детального просмотра, имеющих условия
^/news/([0-9a-zA-Z_-]+)/.*
и^/news/([\w-]+)/([\d]+)/.*
не понятно, какое из правил сработает первым, поскольку длина обоих правил 26 символов и оба начинаются с /news/.Если правило для детального просмотра элемента написано
^/news/([\w-]+)/([\d]+)/.*
, то и правило для просмотра раздела нужно писать аналогично^/news/([\w-]+)/.*
, чтобы правила не перемешивались при автоматической сортировке. Или, если писать для просмотра элемента^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.*
, то тогда и для раздела использовать^/news/([0-9a-zA-Z_-]+)/.*
.Обратите внимание! Придерживаться единообразия при написании правил внутри раздела важнее, чем стараться сократить количество самих правил за счёт использования ИЛИ в условии и непредсказуемо удлиняя их, сбивая сортировку правил. - Сортировка правил по длине условий производится при изменении их через административную часть (Настройки > Настройки продукта > Обработка адресов > Правила обработки), в том числе и когда добавляется через визуальный редактор компонент с ЧПУ. А при обработке ЧПУ-запроса просто перебирается массив правил из файла /urlrewrite.php в той последовательности, в которой они там находятся. И поиск длится до первого совпадения. То есть, если вы вручную изменили массив ЧПУ-правил в /urlrewrite.php и разместили запись с условием
#^/news/([0-9a-zA-Z_-]+)/.*#
выше#^/news/([0-9a-zA-Z_-]+)/([0-9]+)/.*#
, то до второго условия дело никогда не дойдет, несмотря на то, что оно длиннее. - Как лучше формировать ЧПУ элемента в каталоге – по ID или по символьному коду? Зависит от предпочтений. Например можно сформировать ссылку так:
/catalog/poleznye_shtuki/121.php
или так
/catalog/poleznye_shtuki/ochen-poleznaya-zelenaya-shtuka-s-plazmennym-nabaldashnikom-i-ruchkoi.php
Первый вариант понятнее, его удобнее диктовать и сложнее ошибиться. Да и получение элемента по ID выполняется быстрее, чем по символьному коду. Зато второй вариант гораздо выгоднее с точки зрения SEO, что сейчас очень важно для продвижения сайта. - Если в адресах используются численные значения ID элемента (
/main/news/12/
), то возможна ситуация, когда численное значение будет иметь и символьный код раздела. В этом случае правило сработает неправильно. Для детальных страниц лучше использовать такой принцип:/[секции]/элемент.php
, тогда и проблем с ЧПУ не будет. Например, лучше использовать условие#^/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9]+)\.php.*#
, чем условие#^/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9]+)/.*#
- Кириллица в URL создаёт дополнительные проблемы: диапазон русских символов не является непрерывным. В этом случае используйте вместо логичного для латиницы условия
^/test/([0-9a-zA-Zа-яА-Я_-]+)/.*#
такой вариант:#^/test/([0-9a-zA-Zа-пр-яА-ЯёЁ_-]+)/.*#
.
Материалы по теме
- Документация:
- Уроки:
- ЧПУ в компонентах (курс «Разработчик Bitrix Framework»);
- Вложенные ЧПУ (курс «Контент-менеджер»).
- Полезные статьи:
Самая первая глава
В главе 1 уроков, на изучение которых вам потребуется примерно 21 минута.
Основные сведения о системе
В главе 2 урока, на изучение которых вам потребуется примерно 19 минут.
Показать все
Основы администрирования
В главе 0 уроков, на изучение которых вам потребуется примерно 5 часов 9 минут.
- Настройка главного модуля
-
Информация на сайте и работа с ней
- Создание и редактирование новых страниц и разделов
- Управление свойствами страниц и разделов
- Управление правами доступа
- Загрузка и поиск файлов
- Расширенный режим настройки меню
- Шаблонизация контента статических страниц
- Виды шаблонизации
- Пассивный шаблон
- Активный шаблон
- Настройки модуля Управление структурой
- Пример работы с информацией
- Постановка задачи
- Создание инфоблока
- Создание раздела и размещение компонента
- Форма добавления объявлений
- Результат
- Визуальный редактор
- Управление сайтами
- Управление доступом
-
Управление интерфейсом
- Пользовательские настройки
- Административные настройки
- Административные настройки
- Горячие клавиши
- Поведение мыши по умолчанию
- Добавление пункта меню в административный раздел
- Языки интерфейса
- Управление языками
- Региональные настройки
- Загрузка языковых файлов
- Управление языковыми сообщениями
- Mодуль Перевод
- Поиск языковых файлов
- Перевод фраз
- Импорт и экспорт
- Настройка вида страницы ошибки 404
- Дизайн сайта и многоязычность
- Работа с Инструментами
- Пользовательские поля
- Система обработки адресов и ЧПУ
- Рейтинги
- Смайлы и агенты
- Как выявить кастомизацию на сайте
- Дисковое пространство
- Проверьте себя
- Практические задания
Показать все
Пользователи и авторизация
В главе 6 уроков, на изучение которых вам потребуется примерно 2 часа 29 минут.
- Регистрация и разграничение прав
- Группы пользователей
- Работа с учетными записями пользователей
- Типовые роли пользователей сайта
- Импорт пользователей
- Безопасная авторизация
- Контроль слабых паролей
- Если пропадает авторизация пользователя
- Примеры настройки прав пользователей
- Регистрация по номеру телефона
- Как восстановить доступ администратора на сайт
- Как создать форму авторизации (регистрации) на простых компонентах
- CAPTCHA
- Проверьте себя
- Практические задания
Показать все
Безопасность сайта
В главе 6 уроков, на изучение которых вам потребуется примерно 1 час 48 минут.
- Обеспечение безопасности
- Настройка HTTPS-соединения
- Контроль за изменениями в системе
- Пример настроек закладки Безопасность группы пользователей
- Проблема ботов
- Как закрыть доступ к сайту другому администратору
-
Проактивная защита
- Предотвращаем вторжения
- Немного теории: уязвимости
- Немного теории: уровни Проактивной защиты
- Настройки модуля Проактивная защита
- Монитор проактивной защиты
- Сканер безопасности
- Что может сканер безопасности
- Трактовка результатов сканера безопасности
- Стандартный уровень
- Высокий уровень
- Повышенный уровень
- Двухэтапная авторизация
- Система одноразовых паролей
- Механизм двухэтапной авторизации
- Подключение устройств
- Какие устройства можно подключить
- Мобильное приложение
- Аппаратное устройство
- Резервные коды
- Синхронизация
- Компоненты
- Поиск троянов
- Стоп-лист
- Хосты/домены
- Проверьте себя
- Практические задания
Показать все
Производительность и отказоустойчивость
В главе 1 уроков, на изучение которых вам потребуется примерно 3 часа 25 минут.
-
Монитор производительности
- Настройки модуля
- Публичная часть модуля
- Административные страницы модуля
- Скорость сайта
- Страницы и компоненты
- Хиты
- SQL запросы
- Кеширование
- Таблицы в базе данных
- Индексы
- Настройки и ошибки PHP
- Сервер БД
- История замеров производительности
- Панель производительности
- Панель производительности: поиск "узких" мест сайта
- Вкладка Конфигурация
- Вкладка Битрикс
- Вкладка Разработка
- Вкладка Масштабируемость
- Пример нахождения мелких ошибок в производительности
- Кеширование
- Сжатие css и js файлов
- Облако 1С-Битрикс
- Облачные хранилища
- Масштабирование
- Проверьте себя
Показать все
Резервное копирование
В главе 1 уроков, на изучение которых вам потребуется примерно 50 минут.
Поиск
В главе 13 уроков, на изучение которых вам потребуется примерно 35 минут.
- Настройки модуля "Поиск"
- Настройки инфоблока для корректного поиска элементов
- Компоненты Поиска
- Ручная настройка поиска Sphinx
- Индексация
- Правила сортировки
- Морфологический поиск
- Статистика
- Логические операторы
- Облако тегов
- Google Sitemap
- Полезные советы
- Поиск элементов инфоблока по их свойствам
- Типичные ошибки
- Проверьте себя
- Практические задания
Показать все
Требования законодательства РФ
В главе 0 уроков, на изучение которых вам потребуется примерно 16 минут.
Курсы разработаны в компании «1С-Битрикс»