Заморозить url раздела со всеми вложенными страницами в MODX Revolution?

В MODX Revolution есть несколько способов заморозить URL раздела вместе со всеми вложенными страницами. Заморозка URL означает, что MODX будет сохранять определенные URL-адреса страниц в статических файлах, а не генерировать их динамически при каждом обращении к страницам.

1. Использование плагина FURL:
FURL - это плагин для MODX Revolution, который позволяет создавать «дружественные» URL для каждой страницы сайта. Он также предоставляет возможность замораживать URL разделов сайта. Для заморозки URL вам нужно выполнить следующие шаги:

- Установите плагин FURL через менеджер пакетов в MODX или загрузите его вручную с официального сайта MODX.
- Перейдите в раздел «Элементы» в панели управления MODX, затем в раздел «Плагины» и найдите плагин FURL.
- В настройках плагина найдите поле «Исключить из Френдли Юрл» и добавьте туда URL раздела, который вы хотите заморозить. Например, если вы хотите заморозить раздел "blog", добавьте "/blog/*" в поле.
- Сохраните настройки плагина и проверьте работу замороженного URL раздела.

2. Использование .htaccess:
Если у вас на сервере есть доступ к файлу .htaccess, вы также можете использовать его для заморозки URL раздела. Добавьте следующий код в файл .htaccess:

RewriteEngine On
RewriteRule ^my-folder/(.*)$ - [L]

Замените my-folder на путь к вашему разделу. Например, если ваш раздел называется "blog", замените my-folder на blog.

3. Использование сниппета:
Если вам не подходят предыдущие два способа, вы можете написать собственный сниппет, который будет замораживать URL раздела. Ниже приведен пример такого сниппета:

<?php
$folderUrl = '/my-folder/'; // Замените на путь к вашему разделу
$siteUrl = $modx->getOption('site_url');

if(strpos($modx->resource->uri, $folderUrl) === 0) {
    $frozenUrl = $siteUrl . 'frozen' . $modx->resource->uri;
    $modx->sendRedirect($frozenUrl, array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
}

Сохраните этот сниппет, например, с именем FreezeURL, и вызовите его в каждой странице вашего раздела. Не забудьте заменить my-folder на путь к вашему разделу в строке $folderUrl.

Независимо от выбранного способа заморозки URL, не забудьте проверить его работу, переходя по URL раздела и его вложенным страницам.