Utilisez le composant de redirection Joomla pour corriger les URL cassées

8

Quelqu'un peut-il aider à utiliser le composant de redirection J3 pour réparer ce type de liens rompus:

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

À:

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

Et ça:

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

À:

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

Et ça:

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

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

Merci beaucoup pour votre aide!

Nuno Nogueira
la source
que voulez-vous dire par quoi / quoi que ce soit / dans vos URL, sont-ils l'alias de certains éléments de menu? il serait utile de fournir l'URI exact que vous voyez par exemple /components/com_tags/list/23-tag.html
Nagarjun
Oui, ils l'étaient avant de mettre à jour la structure du menu. Exemple: portal-gestao.com/gestao/carreira/… portal-gestao.com/gestao/carreira/…
Nuno Nogueira
1
Vous avez donc supprimé complètement votre ancienne structure de menu et maintenant tous vos anciens articles sont liés d'où? Tous devraient-ils être consultés par / item / id-article? La redirection J3 ne vous aidera pas. Comme vous devrez créer des redirections page par page.
FFrewin

Réponses:

6

Avec la règle ci-dessous .htaccess, vous pouvez rediriger toutes les pages d'une URL avec le modèle de:

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

à une nouvelle 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]

Mais je ne suis pas très sûr que c'est exactement ce que vous voulez, car quelque chose comme ça affectera toutes les URL du modèle ci-dessus (URL profondes de 2 dir), sauf si toutes vos nouvelles URL sont maintenant comme ça.

Il serait peut-être préférable de créer cette même règle, mais en spécifiant exactement les noms «quels que soient» de l'ancienne structure, de sorte que la réécriture d'URL n'affectera que ces anciens chemins.

par exemple:

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

Bien sûr, comme @Nehal l'a souligné, vous pouvez envisager une extension SEF comme SH404SEF, JOOMSEF, etc., qui vous aidera à gérer vos 404 pages (liens brisés). La plupart d'entre eux fournissent des paramètres afin de configurer la façon dont les URL de votre site Web doivent être construites.

FFrewin
la source
Oui, la 1ère règle va tout rediriger, ce n'est pas ce dont j'ai besoin. La seconde semble meilleure. Merci
Nuno Nogueira
3

Ce que vous pourriez faire, c'est utiliser le gestionnaire de redirection de Joomla pour rediriger l'ancienne URL vers la nouvelle.

Dans le backend Joomla, accédez à:

Composants >> Rediriger >> Nouveau

Dans le champ URL source , entrez l'ancienne URL et dans le champ URL de destination , entrez la nouvelle URL

Lodder
la source
Oui, je sais :-) La chose est de savoir comment créer les règles ci-dessus (pas page par page)
Nuno Nogueira
1
Ahh ... pour cela, vous devrez peut-être utiliser une extension de redirection qui a une fonction regex ou modifier votre htaccessfichier. Malheureusement, je ne suis pas un htaccessexpert, je ne peux donc pas vraiment aider. J'espère que quelqu'un d'autre peut vous donner un aperçu
Lodder
3

Vous pouvez utiliser le composant JOOMSEF , qui est à des fins de référencement et plus de cette extension est gratuite.

Dans ce composant, vous avez également la possibilité de supprimer les noms de catégorie et de menu de l'URL et vous pouvez également personnaliser l'URL en fonction de vous .

Nehal
la source