Galdon Posté 9 Septembre 2008 Posté 9 Septembre 2008 (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.htmlRewriteEngine onRewriteRule ^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.htmlRedirectPermanent /viewforum.php?id=16 http://forum.finalclap.com/compositing-f16.html Comment faire ? Merci Modifié 9 Septembre 2008 par Galdon
crocxx Posté 9 Septembre 2008 Posté 9 Septembre 2008 Bonjour, Cela peu dépendre de ton hébergeur et de sa configuration. Peu être qu'il te faut précisé la directive: RewriteBase
Galdon Posté 9 Septembre 2008 Auteur Posté 9 Septembre 2008 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.htmlRedirectPermanent /cours/photoshop-1.html http://www.finalclap.com/tuto/15,premiers-pas.htmlRewriteRule ^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.
Dan Posté 9 Septembre 2008 Posté 9 Septembre 2008 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"
Galdon Posté 9 Septembre 2008 Auteur Posté 9 Septembre 2008 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.
Dan Posté 9 Septembre 2008 Posté 9 Septembre 2008 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.
Galdon Posté 9 Septembre 2008 Auteur Posté 9 Septembre 2008 (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é 9 Septembre 2008 par Galdon
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant