|
|
|
|
|
|
|
Одна интересная особенность, которую надо учитывать.
Допустим вам надо сделать преобразование такого вида, чтобы при открытии страницы /news/445.php происходило преобразование в /news/detail.php?ID=445 Можно использовать такое правило
Оно даже будет работать, но ровно до тех пор пока в строке не появятся дополнительные параметры. Например пользователь перешел с внешнего ресурса и в URL была добавлена метка для Google Analitics, запрошенный URL получился примерно такой /news/445.php?utm_source=google. Вместо текста новости вы увидите сообщение "Элемент не найден", потому что в результате преобразования получился такой адрес /news/detail.php?ID=445?utm_source=google. Ниже приведен код, решающий эту проблему:
|
|||||
|
|
|
|
Упрощенный вариант правила, решающий проблему, описанную Денисом Мальцевым в предыдущем комментарии.
|
|||
|
|
|
|
В теме рассмотрены типовые примеры настройки ЧПУ для вывода разделов и элементов разделов инфоблока. Требуется, когда нужно вместо динамических адресов сделать переход на ЧПУ адреса (статические). |
|
|
|
|
|
Адрес физического файла, подключенного в результате обработки адреса записывается в
|
|||
|
|
|
|
Иногда важно помнить, что проверки на "более точное соответсвие" нет, и правила проверяются в том порядке, как они записаны в файле urlrewrite.php. Например, если два правила записаны так:
второе правило не сработает для "своего" адреса (например /about/news/55/), т.к. первое, универсальное, срабатывает для этого адреса. То есть, более точные правила нужно писать в начало файла, а обобщённые — в конец. |
|||
|
|
|
|
Есть готовое решение позволяющее задавать произвольную сортировку правил в файле urlrewrite есть бесплатное готовое решение -
|
|
|
|
|
|
Если по каким то причинам кнопка "пересоздание недоступна" и обновить правила обработки адресов надо через API
|
||||
|
|
|
|||