redirection en supprimant /fr/

WRInaute discret
Bonjour
Nous avions fait une ancienne version d'un site associatif avec des urls en 2 langues fr et en.
Lors de la refonte, nous avons basé le nouveau site sans /fr/ (et cela restera comme cela). Hors il y a un certain nombre d'urls qui sont dans la console.
Quelle redirection faut-il pour nettoyer cela?
Du genre https://alterweb.info/fr/xxx vers https://alterweb.info/xxx
 

Fichiers joints

  • Capture d’écran du 2024-02-21 19-44-25.png
    Capture d’écran du 2024-02-21 19-44-25.png
    33.2 KB · Affichages: 4
WRInaute occasionnel
Est-ce qu'une redirection de ce type fonctionne ? (s'assurer avant de bien avoir un accès FTP au fichier htaccess, suis pas encore hyper au point sur le rewriting URL) :
RewriteCond %{HTTP_HOST} ^www\.alterweb\.info/fr/$ [OR]
RewriteCond %{HTTP_HOST} ^www\.alterweb\.info$ [NC]
RewriteRule ^(.*)$ https://alterweb.info/$1 [R=301,L]
 
WRInaute discret
Bonjour
je m'aperçois que la ligne https://alterweb.info/fr/livres qui se trouve dans la console Indexation des pages > Explorée, actuellement non indexée
est nativement redirigé vers https://alterweb.info/site-web . je n'arrive pas à comprendre pourquoi; peut-être que c'est parce qu'il se trouve cheaz l'hébergeur gandi

Du coup, j'ai du tester cela sur un autre site web associatif (hebergeur planete hoster) où j'ai le même problème.
j'ai mis
Code:
RewriteCond %{HTTP_HOST} ^www\.clibre\.eu/fr/$ [OR]
RewriteCond %{HTTP_HOST} ^www\.clibre\.eu$ [NC]
RewriteRule ^(.*)$ https://clibre.eu/$1 [R=301,L]

Cela ne fonctionne pas avec https://clibre.eu/fr/infos-sur-le-libre/liste-indicative-des-formats-ouverts (se trouve dans la console Indexation des pages > Explorée, actuellement non indexée) qui devrait être rerouté vers
https://clibre.eu/infos-sur-le-libre/liste-indicative-des-formats-ouverts
 

Fichiers joints

  • Capture d’écran du 2024-02-22 11-25-59.png
    Capture d’écran du 2024-02-22 11-25-59.png
    107.2 KB · Affichages: 1
WRInaute discret
J'ai mis
Code:
RewriteCond %{HTTP_HOST} ^www\.clibre\.eu$ [NC]
RewriteRule ^/fr/(.*)$ https://clibre.eu/$1 [R=301,L]
Cela ne fonctionne pas avec https://clibre.eu/fr/infos-sur-le-libre/liste-indicative-des-formats-ouverts (se trouve dans la console Indexation des pages > Explorée, actuellement non indexée) qui devrait être rerouté vers
https://clibre.eu/infos-sur-le-libre/liste-indicative-des-formats-ouverts
Je reste sur cLibre.Eu car je n'ai pas compris pourquoi c'était résolu avec alterweb et pas assez d'urls à traiter avec cette règle
 
WRInaute discret
Bonjour
Je pense avoir trouvé, après moult recherche
RedirectMatch 301 /fr/(.*) /$1
RedirectMatch 301 /en/(.*) /$1
RedirectMatch 301 /en(.*) /$1

Il me semble que cela fonctionne avec Firerfox sur les liens de type
https://clibre.eu/fr/infos-sur-le-libre/liste-indicative-des-formats-ouverts
=> https://clibre.eu/infos-sur-le-libre/liste-indicative-des-formats-ouverts

sauf que j'ai sur le navigateur Brave: le résultat:
https://clibre.eu//infos-sur-le-libre/liste-indicative-des-formats-ouverts
je ne sais pas si c'est un problème de cache ?
Pouvez-vous vérifier sous chrome ?
Et me dire si cela est correct ?
 
WRInaute discret
Bonjour
Ah j'ai un effet de bord avec mon RedirectMatch
En cliquant sur https://clibre.eu/acteur-du-libre/framasoft-acteur-majeur-du-libre vous verrez que j'ai une erreur :oops:
C'est du au fait que je supprime la chaine "fr" partout
Que dois-je mettre pour ne prendre en compte que la chaine "/fr/" ?

Sachant qu'à priori que je suis aussi obligé de mettre aussi un redirect à chaque fois que j'ai l'élément parent du menu qui renvoie à une liste d'article

Code:
RedirectMatch 301 /sites-web/(.*) /site-web/$1
RedirectMatch 301 /sites-web(.*) /site-web/$1
 
WRInaute discret
Bonjour
Ah je ne peux pas modifier le message précédent!
Bon j'ai essayé plein de combinaison, un peu au pif, pour avoir la chaine exacte "",[] sans succès
Je redonne tout le code actuel.
Mais vu le peu de réponses, est-ce qu'il y a un autre forum plsu spécialisé sur les redirections ?
@+

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^clibre.eu [NC]
RewriteRule (.*) https://clibre.eu/$1 [QSA,R=301,L]

#301 Redirection provisoire du à ancienne configuration et plus de site multilangue !
RedirectMatch 301 /fr/(.*) /$1
#RedirectMatch 301 /fr(.*) /$1
RedirectMatch 301 /en/(.*) /$1
#RedirectMatch 301 /en(.*) /$1

#301 Redirection provisoire du au renommage du nom dans urls
RedirectMatch 301 /logiciels-libres/(.*) /logiciel-libre/$1
RedirectMatch 301 /logiciels-libres(.*) /logiciel-libre/$1
 
WRInaute discret
re
2/ redirection avec 2 sous répertoires ne fonctionnent pas
Code:
RedirectMatch 301 /sites-web/informations-thematique(.*) /site-web/information-thematique/$1
1 solution ?
 
WRInaute discret
Bonjour @pomination
Il semble que cela fonctionne :). je suis quand même prudent pour le reporter sur les autres sites et voir si effets de bord
Si je comprends bien, je dois doubler à chaque fois pour les urls sans "/" que je retrouve sur plusieurs parties de sites (comme pour un blog)!?

Code:
RedirectMatch 301 ^/fr/$ https://clibre.eu/
RedirectMatch 301 ^/fr$ https://clibre.eu/
 
WRInaute discret
Bonjour
2/ cela avait l'air d'être encore un problème de cache et/ou usage avec brave

3/ je galére sur certaines règles spécifiques qui n'ont pas l'air de fonctionner à cause de la récursivité
je voudrai redirigé clibre.eu/numerique vers
https://clibre.eu/numerique-responsable-libre-et-ethique

j'ai essayé plusieurs choses dont cela
Code:
RedirectMatch 301 /numerique(.*) /numerique-responsable-libre-et-ethique/$1
#RedirectMatch 301 ^/numerique/$ https://clibre.eu/numerique-responsable-libre-et-ethique/$1
 
WRInaute discret
Bonjour
1/ En fait j'avai un effet de bord plus grave
Finalement, grâce à l'auteur du composant 4SEO, j'ai mis
RewriteRule ^fr/(.*)$ /$1 [R=301,L]
RewriteRule ^fr$ / [R=301,L]

3/ J'ai résolu en partie en mettant
RedirectMatch 301 ^/numerique/(.*) /numerique-responsable-libre-et-ethique/$1
sauf que cela ne fonctionne pas sous le répertoire /numerique mais moins important
 
Discussions similaires
Haut