Компоненты 2.0: настройка поддержки ЧПУ

Настройка поддержки ЧПУ производится для работающих проектов (вы должны установить обновление главного модуля до версии 5.1.8 и выше, поскольку в обновление ядра 5.1.8 включен механизм переопределения адресов для поддержки ЧПУ). Все, кто будет ставить новый дистрибутив, получат уже настроенную поддержку.

Понятие обработки адресов

Обработка адресов (UrlRewrite) применяется для того, чтобы скрипт мог отвечать не только по своему физическому, но и по любому другому указанному адресу. Например, можно задать такие настройки обработки адресов, что скрипт, лежащий в файле /fld/c.php и отвечающий по адресу:
     /fld/c.php?id=15
будет отвечать также по адресу:
     /catalog/15.php

Адрес, по которому будет отвечать скрипт, не должен физически существовать на сервере. Если такой адрес физически существует, то будет вызван скрипт по этому адресу. Система обработки адресов запущена в этом случае не будет.

Управление правилами преобразования адресов производится на странице: /bitrix/admin/urlrewrite_list.php.
Механизм переопределения адресов создан в основном для компонентов 2.0, поддерживающих режим ЧПУ. В то же время, данный обработчик можно использовать для переопределения любых URL, а не только связанных с компонентами.

При добавлении на страницу компонента с поддержкой ЧПУ (если файл сохраняется с помощью API), автоматически создается правило переопределения адреса. Если страница создается не с помощью API, а, например, записывается через FTP, то необходимо выполнить пересоздание правил (кнопка на панели инструментов на странице управления правилами).

Подключение механизма обработки адресов:

1. Если у вас на веб-сервере настроена обработка ошибки 404, например, для Apache установлена опция ErrorDocument или аналогичная инструкция прописана в файле .htaccess:
     ErrorDocument 404 /404.php,
то вы должны изменить файл /404.php, вставив в самое начало файла команду:
    include_once( $_SERVER['DOCUMENT_ROOT']. '/bitrix/modules/main/include/urlrewrite.php' );

2. Если вы для Apache используете модуль mod_rewrite, то в его настройках вы можете указать (например, в файле .htaccess):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
</IfModule>

После этих настроек будет работать штатный механизм поддержки ЧПУ для новых компонент.

Простой тест для проверки проведенной настройки:

1. Зайти на страницу "Настройки" - "Настройки продукта" - "Обработка адресов"

2. Выбирать пункт "Новая запись" и добавить:
   Условие: #^/sef_test/#
   Компонент: ничего не указываем
   Файл: /index.php (нужно указать файл, который фактически будет работать)
   Правило: ничего не указываем.
Сохранить изменения.

3. Перейти по адресу в разделе /sef_test/
    Например, http://localhost/sef_test/test.html

Если ЧПУ работает, то вы должны увидеть содержимое страницы, указанной в поле Файл в правиле переопределения.

Примеры:

1. Если в системе обработки адресов зарегистрировано правило:
   Условие = #^/gallery/# 
   Файл = /max/images/index.php
и пользователем запрошена страница /gallery/38.php, которая физически не существует, то система обработки адресов подключит скрипт /max/images/index.php.

2. Если в системе обработки адресов зарегистрировано правило:
    Условие = #^/index/([0-9]+)/([0-9]+)/#
    Правило = mode=read&CID=$1&GID=$2
    Файл = /newforum/index.php
и пользователем запрошена страница /index/5/48/, то будет подключен скрипт /newforum/index.php?mode=read&CID=5&GID=48.

3. Если в системе обработки адресов зарегистрировано правило:
    Условие = #(.+?)\\.html(.*)#
    Правило = $1.php$2
и пользователем запрошена страница /about/company.html?show, то будет подключен скрипт /about/company.php?show.


Возврат к списку



Свежие статьи

Туры в Тамале, Гана
Тамале в Гане — один из тех городов, которые привлекают туристов даже при отсутствии выдающихся шедевров архитектуры. Наиболее интересна культура местных жителей и прекрасная природа окрестностей.

Видеонаблюдение - почему некорректно работают камеры?
Даже наиболее современные и самые дорогие камеры видеонаблюдения могут работать не совсем корректно.

Заборы и ограждения – на чем остановить свой выбор?
Изысканный забор вокруг дома существенно увеличивает стоимость недвижимости, если ее необходимо продать

Покупка квартиры в Киеве без посредников
Основным решением экономия денег при покупке квартиры является приобретение без посредников

Социальная ответственность менеджмента в сфере недвижимости
Социальная ответственность бизнеса – одна из самых острых и широко обсуждаемых тем в нашем обществе.

Основные предложения по кредитам наличными от банка Ренессанс.
Кто и как может оформить в Ренессанс Банке кредит наличными онлайн через Интернет.

Туры в Мпумалангу, ЮАР
Тем, кто решил отправиться с Южно-Африканскую Республику и желает побывать в одном из красивейших мест страны, нужно посетить провинцию Мпумаланга, где располагается великолепный национальный парк.

Как удачно арендовать жилье
Большинство людей при аренде квартиры, как правило, стремятся отыскать жилье подешевле...

Как поступить в ВУЗ?
Главное, что стоит понять родителям абитуриентов, да и самим старшеклассникам заключается в том, что подготовка к вступлению в ВУЗ начинается задолго до выпускного класса...

Моделирование в образовании
В энциклопедической литературе моделирование определяется как совокупность методов исследования явлений и объектов при использовании различных аналогов и условных образов...

Сайт разработан компанией
"Bel-Promote"