Redirecionando URLs Antigas do 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, provavelmente deseja que todos os seus resultados 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 à criação de regras nginx, usando a tabela de pesquisa de permalinks (permalinks lookup table).
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
tag_id: para mostrar uma tag
user_id: para mostrar um perfil de usuário
external_url: para redirecionar para uma URL que pode não pertencer à sua instância do Discourse
Por exemplo, se as URLs dos tópicos do seu fórum original fossem como http://example.com/discussion/12345, e a URL desse tópico após a importação for http://example.com/t/we-moved/987, 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 executará 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 mecanismos de busca atualizem seus registros e comecem a usar as novas URLs.
Se você deseja que algumas URLs redirecionem para fora do Discourse, pode fazer isso definindo external_url: