Perrine Posté 4 Décembre 2004 Posté 4 Décembre 2004 Bonsoir à tous La date fatidique du 2 décembre étant passée, j'ai enfin mis en ligne la nouvelle version du site de http://www.histwar.com. Je souhaiterai que les utilisateurs ayant enregistré dans leur favoris l'adresse directe vers l'ancien forum sous Nuke (http://www.histwar.com/modules.php?name=Forum) soit rédirigé vers le nouveau forum (http://www.histwar.com/forum/index.php) J'ai donc écrit la règle suivante dans le .htaccess mais au lieu d'une redirection, je trouve une page 404. RedirectPermanent modules.php?name=Forums http://www.histwar.com/forum/index.php Je suppose que le modules.php?name=Forums n'est pas très juste mais je ne sais pas trop quoi mettre Est il possible de faire ce genre de redirection ? Merci
Perrine Posté 5 Décembre 2004 Auteur Posté 5 Décembre 2004 Personne pour m'éclairer sur ce sujet ? J'en profite pour poser une 2ème question sur le htaccess et les redirections 301 : En visitant le cache de GOOGLE, je me rends compte qu'il y ai plein de pages datant de plus de 6 mois qui sont encore référencées mais bien sûr, elles n'existent plus sur le serveur. Est ce que dans ce cas, je peux aussi utiliser une redirection 301 en listant toutes les pages présentes dans le cache de GG et leur affecter une page de ma nouvelle version ?
Perrine Posté 6 Décembre 2004 Auteur Posté 6 Décembre 2004 Après quelques tests, si j'écris la règle suivante : RedirectPermanent /modules.php http://www.histwar.com/forum/index.php ça marche ... sauf que ça veut dire que n'importe quel module que l'utilisateur consulte sous Nuke renvoie vers le forum. Pas trop grave En revanche, je ne comprends pas pourquoi j'ai besoin de mettre le / devant le fichier_ancien.htm ? Tous les exemples que j'ai vu à droite à gauche ne précisent pas qu'il le faut. Si je ne le mets, ça me renvoie une erreur 404.
Dan Posté 6 Décembre 2004 Posté 6 Décembre 2004 Salut Azon, Le premier exemple que tu donnais ne peut fonctionner à cause de la variable php dans l'URL. La deuxième formulation est la bonne, si ce n'est qu'elle redirige tout le monde à la racine du forum, et ceci quel que soit le module demandé. Tu peux bien sûr mettre une redirection 301 en place pour les anciennes pages du cache Google. Dan
Perrine Posté 6 Décembre 2004 Auteur Posté 6 Décembre 2004 Coucou Dan La deuxième formulation est la bonne, si ce n'est qu'elle redirige tout le monde à la racine du forum, et ceci quel que soit le module demandé. <{POST_SNAPBACK}> Oui :/ je ne peux pas faire autrement je suppose ? Puisque toutes les URL d'accès aux modules contiennent des variables PHP. A moins de faire de l'URL rewriting pour l'url avec modules?name=nom_module et ensuite faire une redirection pour l'url rewritée ? Ca marche ça ? PS : Ceci dit, j'en suis pas encore là mais si c'est faisable, je le mettrai en place prochainement
Dan Posté 6 Décembre 2004 Posté 6 Décembre 2004 Hello Azon, Tu ne m'as pas dit si toutes tes pages de l'ancien forum étaient reprises dans la nouvelle version. Et dans l'affirmative si les numéros de post/topics restaient les mêmes ? Idéalement, il faudrait rediriger de page à page... et non de x pages vers un seul répertoire Dan
Perrine Posté 6 Décembre 2004 Auteur Posté 6 Décembre 2004 Oui, les numéros de posts/topics sont identiques puisque j'ai pu récupérer toute la BDD du forum sous nuke pour la mettre dans phpbb. Le problème, c'est que je n'avais pas fait d'URL rewriting pour nuke. La question que je me pose est donc : est-il possible de faire de la réécriture à posteriori sur des pages qui n'existent plus (dans le sens où l'url pour y accéder est différente) ? Si oui, peut-on réécrire une URL puis dans un 2d temps, faire une redirection ? Ton idéalement me promet quelques heures joyeuses
Dan Posté 9 Décembre 2004 Posté 9 Décembre 2004 Ton idéalement me promet quelques heures joyeuses Non, tout au plus quelques minutes Donnes-moi précisément le répertoire dans lequel sont les anciens fichiers, et celui où se trouvent les nouveaux. De plus, donnes-moi l'URL d'un ancien topic, et l'URL de ce topic à sa nouvelle place. On devrait pouvoir s'en sortir...
Perrine Posté 9 Décembre 2004 Auteur Posté 9 Décembre 2004 Salut Dan Je suis en train de m'occuper de l'url rewriting pour le nouveau forum donc je te tiens au courant dès que j'ai les réponses à tes questions Merci encore de ton aide
Perrine Posté 11 Décembre 2004 Auteur Posté 11 Décembre 2004 Bonsoir, J'ai enfin presque réussi à rewriter les urls de mon forum ... encore un petit souci à régler du côté de mon hébergeur, et tout devrait rentrer dans l'ordre Voici les correspondances Dan, si tu peux m'expliquer comment faire les redirections 301 Répertoire des anciens fichiers : /modules/Forums/ (répertoire de phpBB sous Nuke) Répertoires des nouveaux fichiers : /forum/ (répertoire classique des phpBB) URL ancien topic : www.histwar.com/ modules.php?name=Forums&file=viewtopic&p=791 nouvelle URL du topic www.histwar.com/forum/about791.html Merci par avance
Perrine Posté 12 Décembre 2004 Auteur Posté 12 Décembre 2004 Bonjour, Je me suis attelée à essayer de comprendre un bout de l'url rewriting comme moyen de rediriger les pages rebelles avec des paramètres J'ai donc écrit cette règle : RewriteEngine onRewriteRule /forum/about([0-9]*).html modules.php?name=Forums&file=viewtopic&t=$1 [L] On va dire que c'est pas complètement le fruit du hasard mais presque ... En tout cas, ça ne marche pas Si je laisse la ligne RedirectPermanent /modules.php http://www.histwar.com/index.php dans le htaccess, la page d'un ancien topic sous Nuke (http://www.histwar.com/modules.php?name=Forums&file=viewtopic&t=791) est redirigée vers l'index.php Si j'enlève la ligne du 301, j'ai la page 404 Donc, ma règle est probablement fausse, pourquoi ? Merci
Dan Posté 12 Décembre 2004 Posté 12 Décembre 2004 Salut, Ce que tu ne me dis pas c'est si la structure (l'arborescence) des fichiers est la même sous /modules/Forums/ et sous /forum/ ??? Dans ce cas, il suffirait d'une d'une redirection simple dans le fichier .htaccess du répertoire /modules/Forums/ Je ne te donnes pas encore la règle car elle dépendra de ta réponse Dan
Perrine Posté 12 Décembre 2004 Auteur Posté 12 Décembre 2004 Ah ok, je n'avais pas compris qu'il te fallait l'arborescence détaillée Elles sont quelque peu différentes puisque sous Nuke, les dossiers include et cache n'apparaissent pas. (Je suppose que le dossier include est celui qui apparait à la racine du site). En résumé donc, (en italique les dossiers qui n'existent pas sous nuke) admin cache db docs images includes languages templates Pour les fichiers, ils sont quasiments identiques. En plus dans Nuke : fixgroup.php nukebb.php Le fichier privmsg.php n'apparait pas sous Nuke car il est dans le dossier modules/Private_Messages Mais de tout façon, ce fichier là n'est pas très important si ? Ce qui m'intéresse c'est pouvoir réécrire les urls des forums/topics/posts Tout le reste des fichiers qui nous intéressent et notamment viewtopic et viewforum sont à la racine des dossiers /forum/ et modules/Forums Tu as besoin d'autres choses ?
Perrine Posté 15 Décembre 2004 Auteur Posté 15 Décembre 2004 Dan, je n'ai pas été assez précise dans mes réponses ? ou c'est que tu m'as oubliée ... ^?
Dan Posté 17 Décembre 2004 Posté 17 Décembre 2004 Dan, je n'ai pas été assez précise dans mes réponses ? ou c'est que tu m'as oubliée ... ^? Il est vrai que j'avais oublié ce problème. Il faut donc faire une redirection en 2 passes, pour pouvoir récupérer les anciennes pages. Première passe: Dans le répertoire /Modules/forums/ , crée un fichier .htaccess dans lequel tu mettras des règles comme: RewriteRule forums-([0-9]+)\.html http://www.histvar.com/forum/forum-$1.html [R=301,L]RewriteRule about-([0-9]+)\.html http://www.histvar.com/forum/about-$1.html [R=301,L] Ceci devrait s'occuper de la redirection des forums/topics des anciennes URLs vers les nouvelles (réécrites). Deuxième passe: Il faut aussi mettre les règles permettant de réécrire ces URLs de la nouvelle arborescence, mais manifestement elles sont déjà en place. Dan
Perrine Posté 17 Décembre 2004 Auteur Posté 17 Décembre 2004 Bonjour Dan et merci pour ton aide Je ne voudrai pas dire de bêtises mais dans la règle que tu donnes, à quel moment réécrit-on l'ancienne URL d'un post ? Elle est de la forme : www.histwar.com/modules.php?name=Forums&file=viewtopic&p=791 Je pensais qu'il fallait d'abord faire quelque chose du genre : RewriteEngine onRewriteRule /forum/about([0-9]*).html modules.php?name=Forums&file=viewtopic&t=$1 [L] mais ceci ne marche pas. Pour la réécriture des nouvelles URL, effectivement, elles sont faites grâce à un MOD phpBB
Dan Posté 17 Décembre 2004 Posté 17 Décembre 2004 Tu avais déjà des URLs réécrites sur l'ancienne version, non ? Dans ce cas tu dois rediriger les anciennes URLs de /Modules/forums/about-xyz.html en /forum/about-xyz.html de manière permanente (redirection 301) Et ensuite seulement réécrire /forum/about-xyz.html sous une forme compréhensible par phpBB qui est modules.php?name=Forums&file=viewtopic&t=xyz Il te faut donc faire une réécriture externe pour la première règle. Ceci permettra aux bots d'avoir la nouvelle URL dans l'index. Et ensuite une réécriture interne pour la seconde. C'est celle là qui fera la conversion réelle.
Dan Posté 17 Décembre 2004 Posté 17 Décembre 2004 Le problème, c'est que je n'avais pas fait d'URL rewriting pour nuke. J'avais loupé cette ligne Au temps pour moi ! Dans ce cas de figure, ne tiens pas compte de mon dernier post... Tu ne pourras malheureusement pas utiliser facilement le .htaccess pour renvoyer Google sur les nouvelles adresses. Le mieux est de le laisser découvrir le nouveau forum et le laisser gérer son cache lui-même. Sinon, tu vas devoir mettre une usine à gaz en place pour une durée indéterminée. Dan
Perrine Posté 17 Décembre 2004 Auteur Posté 17 Décembre 2004 Ah ok Pas grave, je laisse comme ça .. avec les URL rewritées sur le nouveau forum, j'ai l'impression qu'il indexe déjà très vite Juste pour ma culture perso, peux-tu me dire pourquoi cette règle ne fonctionne pas ? RewriteEngine onRewriteRule /forum/about([0-9]*).html modules.php?name=Forums&file=viewtopic&t=$1 [L] Merci
Dan Posté 17 Décembre 2004 Posté 17 Décembre 2004 Elle a pourtant l'air de marcher sur ton site , non ? Retires le /forum/ du début de la règle... ce sera mieux ! Et tant qu'à faire, remplaces le .html par \.html , ce sera plus correct ! Donc je mettrais ceci: RewriteRule about([0-9]*)\.html modules.php?name=Forums&file=viewtopic&t=$1 [L]
Perrine Posté 17 Décembre 2004 Auteur Posté 17 Décembre 2004 Ce n'est pas cette règle qui permet de rewriter les URL du forum actuel. Pour rewriter le forum actuel, j'utilise un MOD qui fonctionne bien La règle dont je te parle est une règle que j'ai testée dans le but de réécrire les URL de l'ancien forum. modules.php?name=Forums&file=viewtopic&t=$1 étant l'ancienne URL, grâce au $1, je récupère le numéro du topic et je le mets ici /forum/about([0-9]*).html J'avais utilisé le /forum/ car cette règle est présente dans le .htaccess à la racine du site. Donc, je ne comprends pas pourquoi cette règle ne me permet pas de passer des URL de l'ancien forum aux URL du nouveau forum. J'espère que je suis claire et encore merci pour ta patience
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant