Настройка поддержки ЧПУ производится для работающих проектов (вы должны установить обновление главного модуля до версии 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:
2. Если вы для Apache используете модуль mod_rewrite, то в его настройках вы можете указать (например, в файле .htaccess):
После этих настроек будет работать штатный механизм поддержки ЧПУ для новых компонент.
ErrorDocument 404 /404.php,
то вы должны изменить файл /404.php, вставив в самое начало файла команду:
include_once( $_SERVER['DOCUMENT_ROOT']. '/bitrix/modules/main/include/urlrewrite.php' );
<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 - 1 из 2
Начало | Пред. |
1
2
|
След. |
Конец
(Голосов: 2, Рейтинг: 3.44) |
Google отсканирует 30 млн книг |
Элемент не найден
15.11.2024
В России увидели неожиданную деталь на фото Байдена с Трампом
15.11.2024
В российском регионе за ночь сбили как минимум 46 беспилотников
15.11.2024
Россиян предупредили о неожиданном последствии прогулок без шапки зимой
15.11.2024
Старьевщики обнаружили загадочный скелет в холодильнике в заброшенной ферме
15.11.2024
Разработан новый нейронный интерфейс для лечения травм мозга
15.11.2024
В ООН оправдались за отсутствие реакции на данные об убийстве Киевом российских журналистов. Какую причину там назвали?
15.11.2024
Украинский пленный раскрыл наставления инструктора из США
15.11.2024
В России начал восстанавливаться доступ к YouTube
15.11.2024
Названы главные оправдания школьников при опоздании
15.11.2024
Парень обнаружил сюрприз в шаурме
1 | 2 | 3 |
4 | 5 | 6 |