[RESOLU]Retour aux urls sobres, sans les titres pour phpBB

WRInaute passionné
Bonjour à toutes et à tous,


Après une longue période d'essai (10 mois) de rewritning avec passage du titre en url sur un forum phpBB, je decide de repasser à une version plus classique mais tout de même rewrité.

Ainsi, j'ai remis à peu près tout d'aplomb afin de revenir de :

Code:
-http://www.example.com/forum/f-motclé-11.php
à
Code:
-http://www.example.com/forum/forum11.html
pour les pages de forum et

Code:
-http://www.example.com/forum/t-motclé-139--0--titre-de-mon-sujet.html
à
Code:
-http://www.example.com/forum/ftopic139.html
pour les pages de topics

Cela fonctionne bien. Maintenant, il faut que je puisse rediriger les anciennes urls vars les nouvelles afin de ne pas trop perturber mes visiteurs habitués ainsi que les bots.

Pour le moment, j'ai limté la casse en affectant une erreur 404 vers la page d'accueil du forum, mais il est évident que ce n'est pas l'idéal.

D'où ma demande : Quelle règle d'ecriture dois-je utiliser pour que les redirections de forum et topics s'effectuent en douceur ?

merci d'avance.

Note : hebergement chez ovh
 
WRInaute occasionnel
rewriterule ^f-.*-([0-9]+)\.php /forum/forum$1.html [R=301]

rewriterule ^t-.*-([0-9]+)--.*\.html /forum/ftopic$1.html [R=301]

De tête, reste à verifier.
 
WRInaute passionné
En fait, je pense que c'est plus une regle de redirect permanent qu'un rewrite rule qu'il me faudrait. Ceci juste pour diriger les eventuels liens exterieurs.

quelque chose comme ça :

Code:
Redirect Permanent /forum/t-motclé-1--0--un-titre-parmi-d-autres.html http://www.example.com/forum/ftopic1.html
Redirect Permanent /forum/t-motclé-2--0--un-autre-titre-de-sujet.html http://www.example.com/forum/ftopic2.html
.
.
Redirect Permanent /forum/t-motclé-999--0--un-titre-de-plus.html http://www.example.com/forum/ftopic999.html

Grantome a dit:
On peut connaitre la raison de ce retour en arrière ?
Oui bien sur. je donnerai le detail de l'historique et ce qui me fait revenir en arrière.
 
WRInaute occasionnel
Si je ne dit pas de bêtise "Redirect Permanent" ne permet pas d'utiliser des expression régulière (se qui t'obliges à ecrire une redirection pour chaque page). Pour ça il y a "RedirectMatch" mais qui ne fonctionne pas dans un .htaccess. Je repropose donc mon idée avec des "rewriterule".

Je dis ça d'après ce que j'ai compris de la doc apache, je peus me tromper.
 
WRInaute passionné
Je peux me tromper aussi mais la regle de reecriture d'url ne sert-elle pas plutôt à afficher une url virtuelle (simple) a partir d'une url réelle (complexe) ?

hors là, je pense que tu me proposes de reecrire une url qui n'existe plus en une url virtuelle, ce qui explique peut etre que les deux regles proposées ne fonctionnent pas.
 
WRInaute occasionnel
Tu as peut-être raison, je ne suis pas un spécialiste de se type de manoeuvre, je ne peux donc pas garantir que mon idée est meilleur.

Je te propose l'utilisation de "rewriterule" car il semblerai que tu ne puisses pas utiliser d'expression régulière autrement qu'avec RedirectMatch mais qui n'a pas l'air de fonctionner dans un .htaccess (A moins que tu ailles accès au fichier de config d'apache). Hors je pense que c'est plus simple pour toi de gérer tes redirections avec des expressions régulière.

Je ne pense pas qu'il y aye de problème à réecrir une url qui n'existe plus (ex-url virtuel) vers une nouvelle url virtuel. Avec un flag [R=301] tu fais une redirection 301 qui avertie les bots que la page à changer d'adresse ... je ne pense donc pas qu'il y aye de problême.

mon idée n'a qu'un but pratique pour te faciliter la vie même si elle ne parait pas très catholique. Avant ton post, je ne connaissais pas "Redirect Permanent" et c'est par curiosité que j'ai regardé la doc apache et que j'ai vu qu'il n'accéptait pas les regex et que la doc renvoyait vers RedirectMatch pour les utiliser et là d'après la doc, l'on ne peut pas l'utilisé dans un .htaccess ...

J'espère que quelqu'un de plus compétant que moi pourra venir confirmer ou apporter des préssisions sur ce que j'ai dit.
 
WRInaute passionné
Quoi qu'il en soit, merci tout de même magic corp. pour ton aide.

J'ai encore essayé diverses reglès hier soir mais sans succès.
Les anciennes urls aboudissent inexorablement vers une 404 au lieu de pointer vers les nouvelles.
 
WRInaute passionné
Probleme résolu.

Code:
RewriteRule ^f-motclé-([0-9]+)\.php$ /forum/forum$1.html [R=301]
RewriteRule ^t-motclé-([0-9]+).*\.html$ /forum/ftopic$1.html [R=301]

Placé non pas dans le htaccess de la racine du site, mais dans celui du forum.

J'ajoute également un merci à Phobos et xele
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut