Две доменные зоны, условное перенаправление

Уважаемые эксперты Discourse!

Мы уже три года ведем форум на платформе Discourse (DOMAIN1). Теперь мы хотим расширить охват обсуждений и добавить DOMAIN2. Нам удалось активировать оба домена с помощью Let’s Encrypt благодаря этому посту. Мы оставим оба домена активными, что сработало после выполнения шага 1 в указанном посте. Второй домен перенаправляется на основной, что является правильным решением.

Частью перехода является перемещение всех существующих категорий в новую категорию верхнего уровня.

DOMAIN2 станет основным доменом Discourse, а DOMAIN1 останется связанным, чтобы внешние ссылки на сообщения продолжали работать.

Вот вопрос: как добавить перенаправление, если вызывается «ванильный» DOMAIN1 (только корневой URL, без пути) на URL новой категории верхнего уровня? Все остальные вызовы DOMAIN1 (с путями) должны сохранять существующий путь (без изменений, уже работает). Это поможет минимизировать путаницу, так как все, кто зайдет на DOMAIN1, попадут в категорию, и всё будет выглядеть примерно так же, как и раньше.

Надеемся, кто-то сможет предложить решение для добавления этого условного перенаправления в нашей настройке с двумя доменами.

Спасибо!
Мертен

Вам будет непросто: один экземпляр Discourse не может работать по нескольким URL-адресам; кроме того, перенаправление постоянных ссылок не работает для существующих маршрутов, таких как просмотр темы.

То есть вы говорите, что нет простого способа сделать следующее?

(1) Перейти на domain1.com, и там запущен Discourse (с основным именем хоста domain1.com — работает)
(2) Перейти на domain2.com, и он перенаправляет на domain1.com/c/example/18 (что мы тоже хотим)
(3) Перейти на domain2.com/t/topic/1, и он показывает либо domain1.com/t/topic/1, либо domain2.com/t/topic/1 (сейчас работает)

Мы переходим на новую систему и хотим, чтобы только корень domain2.com перенаправлял на категорию. Существует ли какая-либо перестройка URL, которая может это сделать?

Если домен2 только обслуживает правила перенаправления, то да, вы можете написать конфигурацию nginx для этого; детали этого выходят за рамки Meta.

Не мог бы плагин карты сайта служить источником данных для 302-редиректов в nginx?

Мы заставили это работать, добавив следующее в файл web.ssl.template.yml:

if ($host = domain2.com) {
    rewrite ^/$ /c/example/18 permanent;
}

Пожалуйста, переместите это в директиву replace в вашем файле app.yml, иначе будущие обновления станут для вас настоящей болью!

Ок, спасибо большое!!!