Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


manual:components:redirect

Компонент "Редиректы"

Панель управленияКомпонентыРедиректы

Описание

Компонент реализует обработку внешних ссылок через промежуточную страницу CMS:

  /redirect?url=http://site.ru

Подобные ссылки вы можете писать как самостоятельно, так и включать их автоматическое формирование (все прямые ссылки заменятся на ссылки через указанный редирект) в полях типов контента, например в поле «Текст HTML». Кириллические домены поддерживаются.

Также компонент поддерживает правила для редиректа и подмены адресов для внутренних ссылок.

Настройки

Список доменов для прямого редиректа

В поле указывается список доменов в формате domain.com, каждый с новой строки. Переход по ссылкам указанных доменов будет осуществляться без промежуточной страницы, а сразу выполнится редирект.

Черный список доменов

Также список доменов в формате domain.com, каждый с новой строки. Переходы по ссылкам, содержащие указанные домены будут блокироваться всегда.

Проверять ссылки

Для остальных ссылок, если включен данный чекбокс, ссылки будут проверяться открытым методом Вконтакте. При этом короткие ссылки разыменуются, проверятся и, в случае если ссылка подозрительная, пользователю будет показано предупреждение. При этом таймер автоматического перехода не будет работать, но перейти по ссылке всё равно будет возможно.

Белый список доменов

В поле указывается список доменов в формате domain.com, каждый с новой строки. Ссылки, содержащие перечисленные домены, не будут проверяться согласно опции «Проверять ссылки» и будет показана обычная страница редиректа без предупреждений.

Таймер перехода для ссылок

Указывается количество секунд, которые движок пропустит, прежде чем выполнит редирект. Обратный отсчёт будет показан на промежуточной странице редиректа. При этом пользователь всё равно сможет, не дожидаясь окончания, кликнуть по ссылке перехода.

Проверять HTTP referer

Если опция включена, то CMS будет смотреть HTTP referer перед формированием страницы перехода. Если страница открыта со стороннего сайта (а не с текущего, вашего), то будет показана ошибка 404. Таким образом все ссылки редиректа будут работать только с вашего сайта.

Правила для редиректа и подмены адресов

:!: Доступна для InstantCMS выше 2.14.2.

В этом поле можно писать JSON код правил. Формат такой:

[
    {
        "source": "#^download.html$#i",
        "target": "/get",
        "action": "redirect-301"
    },
    {
        "source": "#^catalog(.*)$#i",
        "target": "https://addons.instantcms.ru/",
        "action": "redirect"
    },
    {
        "source": "#^rss\/blogs\/all\/feed.rss$#i",
        "target": "rss/feed/blogs",
        "action": "rewrite"
    }
]
  • В ячейке source каждого объекта — пишется регулярное выражение, для поиска совпадений в текущем URI;
  • В ячейке targetURI для перенаправления, при совпадении source;
  • В ячейке action — действие: rewrite (внутренняя подмена адреса), redirect (обычные редирект), redirect-301 (301 редирект).

В данном примере адрес /download.html будет перенаправлен 301 редиректом на страницу /get. Адрес, начинающийся на /catalog будет перенаправлен 301 редиректом на страницу https://addons.instantcms.ru/. Адрес /rss/blogs/all/feed.rss будет обработан внутренней подменой и вызовется контроллер rss с экшеном feed и параметром экшена blogs.


Назад к разделу Компоненты

manual/components/redirect.txt · Последнее изменение: 04.07.2021 00:46 — fuze