Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour, j'ai migré mon forum fluxBB vers phpBB3 et je souhaite mettre en place quelques redirections dans mon .htaccess. Voici les URL à rediriger :

Redirection des topics, des posts et des pages membres

/viewtopic.php?pid=45 => /post45.html#p45
/viewtopic.php?id=2 => /topic2.html
/profile.php?id=81 => /membre81.html

J'ai essayé avec RedirectMatch et une règle de réécriture, mais aucune des deux solutions ne fonctionne :

RedirectMatch 301 ^viewtopic.php?pid=([0-9]+)$ /post$1.html

RewriteEngine on
RewriteRule ^viewtopic.php?pid=([0-9]+)$ /post$1.html [R=301]

J'ai aussi quelques URL à rediriger sans REGEX, mais ce code ne fonctionne pas :

Redirection des forums (sans REGEX à cause de l'injection des noms dans l'URL)

RedirectPermanent /viewforum.php?id=2 http://forum.finalclap.com/graphisme-et-retouche-f2.html
RedirectPermanent /viewforum.php?id=16 http://forum.finalclap.com/compositing-f16.html

Comment faire ?

Merci

Modifié par Galdon
Posté

Bonjour,

Cela peu dépendre de ton hébergeur et de sa configuration.

Peu être qu'il te faut précisé la directive: RewriteBase

Posté

Non ça ne dépend pas de l'hébergeur (OVH 90plan) puisque sur mon site j'utilise également l'URL rewriting, voici un extrait de ce que contient le .htaccess :

RedirectPermanent /cours/photoshop.html http://www.finalclap.com/tuto/14,cours-photoshop.html
RedirectPermanent /cours/photoshop-1.html http://www.finalclap.com/tuto/15,premiers-pas.html

RewriteRule ^liste-tutoriaux.html$ /index.php?page=liste-tutoriaux.php [L]
RewriteRule ^liste-tutoriaux/([0-9]+),([0-9a-zA-Z_-]+).html$ /index.php?page=liste-tutoriaux.php&cat=$1&nom_cat=$2 [L]

RewriteRule ^tuto/([0-9]+),([0-9a-zA-Z_-]+).html$ /index.php?page=tuto.php&id_tuto=$1&nom_tuto=$2 [L]

Et ça fonctionne impeccablement, mais les mêmes commandes ne fonctionnent pas sur le sous domaine du forum. Visiblement ça n'a pas l'air d'être une erreur de syntaxe, vraiment je ne vois pas le problème.

Posté

Tu n'as pas par hasard une règle conditionnelle qui redirige le domaine sans www vers le domaine avec le www ?

Si elle est mal écrite, cela pourrait causer ce "non fonctionnement"

Posté

Non, je n'ai pas cette règle, car mon forum est hébergé sur le sous-domaine forum.finalclap.com.

En faisant des tests, je me suis aperçu que ce qui faisait tout planter est le point d'interrogation. Normalement quand on fait une RewriteRule, l'URL qui va être réécrite est propre, elle ne contient donc pas de "?".

Mais là c'est un cas particulier ou l'URL source contient des paramètres GET.

J'ai trouvé un topic qui en parlait, il faut écrire des choses de ce style :

RewriteCond %{QUERY_STRING} ^tag/digg$
RewriteRule ^$ http://www.jofischer.fr/tag/digg? [L,R=301]

Je ne maitrise pas trop les RewriteCond, m'enfin au moins j'ai la solution.

Posté

La règle serait de ce style

RewriteCond %{QUERY_STRING} ^id=([0-9]+)
RewriteRule viewtopic.php /topic%1.html

Désolé, je n'avais pas lu le code de ton premier post avec attention....

Mais j'ai quelques doutes quant-au bon sens de ces règles ... parce que le fichier membre81.html n'existe manifestement pas sur ton site, non ?

Que veux-tu faire très précisément ? Tu devras modifier les sources de phpbb3 pour que ces "jolies" URLs telles que membre81.html soient créées... et la règle serait alors dans l'autre sens. Là ça ne mène à rien à mon avis.

Posté (modifié)

Merci pour le morceau de code, ça fonctionne.

Pour le reste, c'est vrai que ça peut paraître confus.

Avant le 6 septembre, mon forum était un fluxBB, il y avait plein de duplicates (un topic était accessible par des url du type /viewtopic.php?id=5, mais aussi par les URL de tous les posts appartenant à ce topic : /viewtopic.php?pid=213 ou encore ?pid=214...). En plus des duplicates, il n'y avait pas de vrai mod d'URL rewriting comme on peut en trouver sur phpBB par exemple.

J'ai donc pris mon courage à deux mains et migré tout le forum vers phpBB3. Du coup, j'ai pu bénéficier des mods de phpBB SEO : mod rewrite + zero duplicate...

Maintenant, Google contient encore les URL de l'ancien forum dans son index, je veux donc mettre en place des redirections vers les toutes nouvelles URL toutes propres de phpBB (topics, posts et pages membres).

Et le membre n°81 existe bien : http://forum.finalclap.com/membre81.html (j'avais précisé plus haut que le forum était installé sur un sous-domaine).

Modifié par Galdon

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...