301 редиректы в MODX Revo
Стандартные простые редиректы в .htaccess в MODX не работают.
Работает метод:
Однако в MODX Revo есть очень удобный плагин для создания редиректов., называется Redirector.
Использование простейшее: Клик по кнопке «Создать новый редирект» во появившемся окне пишем правило:
Шаблон — url старой страницы без слеша, например old-page.html Цель — полный адрес новой страницы new-domain.ru/new-page.html
Также можно более тонко настраивать, для контекстов и т.д.
Однако в плагине из коробки есть проблема с кириллицей в адресах, в случае если мы делаем редирект со старого кириллического адреса на новый, подхватываться он не будет, решить эту проблему легко можно следующим образом:
В дереве ресурсов открываем Элементы -> Плагины -> Redirector и после
Добавляем:
После этого преобразования кириллица в редиректах также будет срабатывать.
RewriteRule ^page1.html$ /page2.html [R=301,L] в .htaccess.
if (!empty($baseUrl) && $baseUrl != '/' && $baseUrl != ' ' && $baseUrl != '/' . $modx->context->get('key') . '/')
{
$search = str_replace($baseUrl, '', $search);
}
$search = iconv('UTF-8', 'CP1251', rawurldecode($search));
$search = mb_convert_encoding($search, 'UTF-8', 'CP1251');