Use o componente de redirecionamento do Joomla para corrigir URLs quebrados

8

Alguém pode ajudar com o uso do componente de redirecionamento J3 para corrigir esse tipo de links quebrados:

https://www.portal-gestao.com/whatever/whatever/9999-title-of-the-page

Para:

https://www.portal-gestao.com/item/9999-title-of-the-page

E isto:

http://www.portal-gestao.com/whatever/whatever/itemlist/tag/name-of-the-tag.html

Para:

https://www.portal-gestao.com/item/tag/gurus.html

E isto:

http://www.portal-gestao.com/whatever/whatever/itemlist/user/9999-name-of-author.html

Para: http://www.portal-gestao.com/item/author/3707-name-of-author.html

Muito obrigado pela ajuda!

Nuno Nogueira
fonte
o que você quer dizer com o que quer que seja / em seus URLs, eles são o apelido de alguns itens do menu? seria útil para fornecer exata uri que você está vendo, por exemplo /components/com_tags/list/23-tag.html
Nagarjun
Sim, eles costumavam ser antes de atualizar a estrutura do menu. Exemplo: portal-gestao.com/gestao/carreira/… portal-gestao.com/gestao/carreira/…
Nuno Nogueira
11
Então você removeu completamente sua estrutura de menus antiga e agora todos os seus artigos antigos estão vinculados de onde? Todos devem ser acessados ​​por / item / id-article? O redirecionamento J3 não ajudará nisso. Como você terá que criar redirecionamentos página por página.
FFrewin

Respostas:

6

Com a regra .htaccess abaixo, você pode redirecionar todas as páginas de um URL com o padrão de:

https://www.portal-gestao.com/whatever/whatever/9999-title-of-the-page

para um novo URL de:

https://www.portal-gestao.com/item/9999-title-of-the-page


htaccess:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.portal-gestao.com
RewriteRule ^.*/.*/(.*)$ https://www.portal-gestao.com/item/$1 [L,R=301]

Mas não tenho muita certeza de que é exatamente isso que você deseja, pois algo assim afetará todos os URLs do padrão acima (URLs profundos em 2 dir.), A menos que todos os seus novos URLs sejam agora assim.

Talvez seja melhor criar essa mesma regra, mas especificando exatamente os nomes "qualquer que seja" da estrutura antiga, para que a reescrita do URL afete apenas os caminhos antigos.

por exemplo:

RewriteRule ^whatever1/whatever2/(.*)$ https://www.portal-gestao.com/item/$1 

Obviamente, como o @Nehal apontou, você pode considerar uma extensão do SEF como SH404SEF, JOOMSEF etc, que o ajudará a lidar com suas 404 páginas (links quebrados). A maioria deles fornece configurações para definir como os URLs do seu site devem ser criados.

FFrewin
fonte
Sim, a 1ª regra redirecionará tudo, não é disso que eu preciso. O segundo parece melhor. Obrigado
Nuno Nogueira
3

O que você pode fazer é usar o Redirect Manager do Joomla para redirecionar a URL antiga para a nova.

No back-end do Joomla, acesse:

Componentes >> Redirecionar >> Novo

No campo URL de origem , insira o URL antigo e, no campo URL de destino , insira o novo URL

Lodder
fonte
Sim, eu sei :-) A coisa é como criar as regras acima (não página por página)
Nuno Nogueira
11
Ahh ... para isso, talvez você precise usar uma extensão de redirecionamento que possui um recurso de expressão regular ou editar seu htaccessarquivo. Infelizmente, eu não sou htaccessespecialista, então não posso ajudar com isso. Esperemos que alguém pode fornecer alguma introspecção
Lodder
3

Você pode usar o componente JOOMSEF , que é para fins de SEO e mais desta extensão é gratuita.

Também nesse componente, você tem a opção de remover os nomes de categoria e menu do URL e também pode personalizar o URL de acordo com você .

Nehal
fonte