Перенаправление из Discourse наружу

Здравствуйте

Старый URL

https://discourse.example.com/t/tiles-image-gallery/81950

Код HTTP-статуса: 301 :down_arrow:

Новый URL

https://example.com/tiles-image-gallery/

HTTP-статус: 200

Как настроить перенаправление подобным образом?

Спасибо

Привет, попробуйте раздел Настройки > Настройка > Постоянные ссылки

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

Мне неизвестно о каких-либо функциях в Discourse, которые обрабатывали бы перенаправление URL-адресов Discourse во внешние ресурсы.

Уточните, пожалуйста: вы хотите перенаправлять трафик или просто переписывать ссылки?

Мне нужно настроить несколько внешних перенаправлений.

Discourse размещен на поддомене.

WordPress размещен на корневом домене.

Обе платформы имеют разные хостнеймы и должны существовать отдельно.


Мне просто нужно перенаправить несколько тем с Discourse на статьи блога WordPress.

Оба URL (постоянные ссылки) различаются.

Когда я захожу в Настройки Discourse > Постоянные ссылки, там, похоже, нет простого поля «Откуда» и «Куда», которое позволило бы легко настроить перенаправление в нужное место.

Вы можете использовать постоянные ссылки (permalinks) для перенаправления на внешние URL-адреса без проблем.

Пример: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Как это возможно? Не могли бы вы предоставить скриншот, показывающий, как это сделать?

Это именно там, где вам сказал @zcuric:

Как видно на моём примере, это перенаправляет простой путь, guide в данном случае, на внешний URL.

Не уверен, что это возможно сделать для URL, который соответствует пути темы. Это не является распространённым сценарием использования.

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

Точно, он кэширует только простые перенаправления. Например, если я установлю

/twitterdev

на

https://twitter.com/twitterdev

это работает.

Но я хочу сделать перенаправление темы на внешний ресурс… где путь не становится внешним.

Из

https://discourse.example.com/t/tiles-image-gallery/(.*)

(Я добавил wildcard для совпадения с пагинированными URL)

301 на мой внешний ресурс — постоянную ссылку на пост в WordPress

https://example.com/tiles-image-gallery/

Перенаправление с discourse.example.com на example.com считается «внешним». Это другой домен; «внешним» в данном контексте является любой домен, который не в точности совпадает с
discourse.example.com.

Поддержка подстановочных знаков не является функцией, которую я ожидал бы от перенаправлений; они предназначены для простых разовых страниц.

Я бы спросил себя, переходят ли пользователи на URL-адреса пагинации; по моему опыту, они этого не делают.

Я бы сказал, что вы готовы к работе. :slight_smile:

Я думаю о перспективе поисковых систем, где 301-й редирект важен.

Я не поисковая система, я бы не знал. :thinking: