Olá,
É possível redirecionar automaticamente todas as páginas 404 quebradas para a página inicial ou alguma outra página?
Atenciosamente
Olá,
É possível redirecionar automaticamente todas as páginas 404 quebradas para a página inicial ou alguma outra página?
Atenciosamente
Como o Discourse não usa htaccess, não tenho certeza onde procurar uma solução. Qualquer ajuda seria apreciada ![]()
Acho que você pode ser capaz de criar um plugin para conseguir isso?
Pode ser confuso redirecionar imediatamente, então por que não alterar a rota 404 para redirecionar para a página inicial após um curto período com uma mensagem correspondente?
Isso poderia funcionar, mas não sei como fazer isso ![]()
Existe algum plugin para isso?
Eu duvido. Você poderia Marketplace
O Htaccess não deve ser usado de qualquer forma, mesmo que houvesse um Apache2 na frente do Discourse — e não há.
O Docker complica a vida
e eu não sei como lidar com isso. Mas você pode colocar o Nginx (ou qualquer outro servidor/proxy reverso) na frente do Discourse, se quiser. E então essa redireção seria uma tarefa bastante trivial. Você pode fazer algo como isto:
Mas por que você gostaria de redirecionar 404s de volta para a página inicial em primeiro lugar? Se um usuário está procurando por algo e recebe a página inicial em vez do que queria ou um 404, é um pouco confuso. E depois o mesmo usuário tentará novamente porque talvez ela/ele fez algo errado ou o site teve um problema. Totalmente desnecessário e há um motivo pelo qual todo site deve mostrar um erro 404 em vez de alguma redireção estranha.
Estou migrando meu blog WordPress para o Discourse. Agora, devido à estrutura de links diferente, haverá toneladas de páginas 404 após a migração. Não posso configurar um redirecionamento para cada uma delas manualmente, então preciso de uma solução para fazer isso automaticamente.
Sim, mas essa não é uma solução. É uma correção ruim, nada mais. Sua estrutura de URL ainda estaria quebrada, mas você estaria apenas escondendo-a. E não, você não pode transferir valor de SEO dessa maneira ;)\n\nDe qualquer forma — então você tem um servidor aí. Tente usá-lo?
Se você usasse um subdomínio diferente para os sites do WordPress e do Discourse, provavelmente conseguiria fazer isso no lado do servidor do WordPress.
É possível alterar page_not_found.title (originalmente “Oops! That page doesn’t exist or is private.”) – é uma pena para você que não haja algo como page_not_found.content que permitiria explicar a situação em detalhes.
Essa opção não envolve nenhum tipo de redirecionamento, se não me engano.
Seja quais forem os links para os quais esses links apontam… eles serão migrados para o Discourse? Por exemplo, se esses links apontam para posts de blog, que você está transformando em tópicos, então você poderia criar permalinks: Redirect old forum URLs to new Discourse URLs using permalinks
Você também pode remapear esses URLs para outra coisa. Assumindo que os URLs tenham alguma formatação comum, você pode usar REGEX e o comando remap para substituí-los:
remap [--global,--regex] FROM TO
Um exemplo de como usar o comando:
discourse remap --regex "[\\/?color(=[^\\\]]*)*]" "" # removendo bbcodes de "color"
Exceto que isso deve ser feito no servidor do WordPress se quisermos manter o Google E os usuários felizes.
5 posts foram divididos para um novo tópico: Como redirecionar para a página inicial após a exclusão de um tópico?
Você pode lidar com todas as páginas 404 quebradas para a página inicial ou outra página usando o recurso “Personalizar”.
Vá para a seção Personalizar > Temas > Criar Novo Tema > nomeie seu tema, por exemplo, Redirecionamento 404 e defina o Tema Base como Padrão.
Em seguida, crie o novo tema > Editar CSS/HTML. Na seção HTML, crie um snippet JavaScript que lidará com o redirecionamento.
Cole este código.
<script type="text/discourse-plugin">
api.onPageChange((url, title) => {
// Redireciona para a página inicial para todas as páginas 404
if (url.includes('/404')) {
window.location.href = '/';
}
});
</script>
Por favor, ajuste o nome da sua página de acordo com sua necessidade. Leia este redirecionar URL antiga para nova URL do Discourse