Перейти к содержанию

Настроить глобальные редиректы 301


Hakuna Matata
 Поделиться

Рекомендуемые сообщения

Добрый день,

мне нужно настроить редиректы 301 с отдельных записей и категорий базы в Pages. Не могу найти файл, в котором это можно сделать. Использую код в файле /public/applications/cms/modules/front/database/record.php

$seo_redirects = array();
$seo_redirects['https://www.moidomen.ru/basa1/stary-url1/'] = 'https://www.moidomen.ru/basa2/novyj-url1/';
$seo_redirects['https://www.moidomen.ru/basa1/stary-url2/'] = 'https://www.moidomen.ru/basa2/novyj-url2/';
$seo_redirects['https://www.moidomen.ru/basa1/stary-url3/'] = 'https://www.moidomen.ru/basa2/novyj-url3/';

$current_url = (string) \IPS\cms\Databases\Dispatcher::i()->url;
if (isset($seo_redirects[$current_url])) {
    \IPS\Output::i()->redirect($seo_redirects[$current_url],'', 301);
}

Работает. Но как только удаляю старую запись из базы, перестает работать. Мне нужно это где-то глобально задать. Т. е. перед тем, как система проверяет, есть ли вообще такой URL. Т. е. глобальный редирект, как в .htaccess.

PS: Файл .htaccess не предлагать, его нет. Есть nginx, в котором я ничего не понимаю и боюсь положить вообще все, если там буду ковыряться. Тем более, что редиректов будет много, порядка 100 штук или даже больше.

Спасибо!

Изменено пользователем Hakuna Matata
Ссылка на комментарий
Поделиться на другие сайты

Нашла ответ в документации:

 

Добавила в \IPS\Dispatcher\Front. Теперь работает как надо.

Теперь бы еще array с редиректами через админку обрабатывать... Можно ли хуком в Dispatcher забраться? И можно в базе таблицу для хука сделать, чтобы редиректы оттуда брать?

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте, вы можете создать плагин с настройкой в виде текстового поля, откуда в коде забирать урлы редиректов через разделитель /n например, в версии 4.x хукать \IPS\Dispatcher\Front пока можно, в 5.x уже вряд ли получится.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
 Поделиться

×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности