Redirecionando URLs Antigas de Fórum para Novas URLs do Discourse Usando Permalinks
Se você migrou de outro software de fórum para o Discourse usando um de nossos scripts de importação, então provavelmente deseja que todos os seus resultados de busca do Google, arduamente conquistados, continuem apontando para o mesmo conteúdo. O Discourse tem uma maneira integrada de lidar com isso para você como uma alternativa à escrita de regras do nginx, usando a tabela de consulta de permalinks.
A tabela de permalinks permite que você defina duas coisas: uma URL para corresponder e o que essa URL deve mostrar. Existem algumas opções para definir para onde a URL deve redirecionar. Defina uma destas:
topic_id: para mostrar um tópico
post_id: para mostrar uma postagem específica dentro de um tópico
category_id: para mostrar uma categoria
external_url: para redirecionar para uma URL que pode não pertencer à sua instância do Discourse
Por exemplo, se as URLs de tópico do seu fórum original fossem http://example.com/discussion/12345, e a URL desse tópico após a importação for http://example.com/t/we-moved/987, então você pode configurar o mapeamento assim:
cd /var/discourse
./launcher enter app
rails c
Permalink.create(url: '/discussion/12345', topic_id: 987)
O Discourse então realizará um redirecionamento com código de status de resposta HTTP 301 (movido permanentemente) para a URL correta do ID do tópico 12345. O 301 deve fazer com que os motores de busca atualizem seus registros e comecem a usar as novas URLs.
Se você quiser que algumas URLs redirecionem para fora do Discourse, você pode fazer isso definindo external_url: