3383

301 редиректы в MODX Revo


Стандартные простые редиректы в .htaccess в MODX не работают. Работает метод:
RewriteRule ^page1.html$ /page2.html [R=301,L] в .htaccess.
Однако в MODX Revo есть очень удобный плагин для создания редиректов., называется Redirector. Использование простейшее: Клик по кнопке «Создать новый редирект» во появившемся окне пишем правило: Шаблон — url старой страницы без слеша, например old-page.html Цель — полный адрес новой страницы new-domain.ru/new-page.html Также можно более тонко настраивать, для контекстов и т.д. Однако в плагине из коробки есть проблема с кириллицей в адресах, в случае если мы делаем редирект со старого кириллического адреса на новый, подхватываться он не будет, решить эту проблему легко можно следующим образом: В дереве ресурсов открываем Элементы -> Плагины -> Redirector и после
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');
После этого преобразования кириллица в редиректах также будет срабатывать.

Комментарии

Комментировать