Jump to content

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


Hakuna Matata
 Share

Recommended Posts

Добрый день,

мне нужно настроить редиректы 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 штук или даже больше.

Спасибо!

Edited by Hakuna Matata
Link to comment
Share on other sites

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

 

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...

Important Information

By using our site you agree to our Privacy Policy