Aller au contenu

RedirectPermanent depuis un forum nuke


Sujets conseillés

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 :blush:

Est il possible de faire ce genre de redirection ?

Merci :)

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 :P

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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 on
RewriteRule /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 ... :blush: En tout cas, ça ne marche pas :P

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

Dan, je n'ai pas été assez précise dans mes réponses ? ou c'est que tu m'as oubliée ... ^? :c_tonguesmile:

Il est vrai que j'avais oublié ce problème. :whistling:

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

Lien vers le commentaire
Partager sur d’autres sites

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 on
RewriteRule /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 :)

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 on
RewriteRule /forum/about([0-9]*).html modules.php?name=Forums&file=viewtopic&t=$1 [L]

Merci :)

Lien vers le commentaire
Partager sur d’autres sites

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]

Lien vers le commentaire
Partager sur d’autres sites

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 :P

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 :blush: et encore merci pour ta patience :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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