Version complète: sur le forum Webmaster Hub : Redirection compléte des urls d'un forum
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
doomer2
Bonjour,

Mon forum s'est fait hacker il y a quelques jours et je viens de le supprimer pour une version punbb.

Cependant pleins de pages de l'ancien forum sont toujours indexées dans google et le visiteur se voit redirige sur une page 404.

Je souhaiterais qu'il soit redirigé à l'accueil du nouveau forum. L'adresse du forum est toujours la même h**p://www.site.com/forum/

L'ancien fichier htaccess était le suivant :

CODE
Options +FollowSymlinks
RewriteEngine on
RewriteBase /forum/
# Url de base du forum
RewriteRule ^forum\.html$ index.php [L]
RewriteRule ^forum-mr\.html$ index.php?markread=1 [L]

# Affichage d'un forum particulier
RewriteRule ^forum-f([0-9]+),([a-zA-Z0-9-]+)\.html$ index.php?showforum=$1 [L]
RewriteRule ^forum-f([0-9]+)\.html$ index.php?showforum=$1 [L]
RewriteRule ^forum-f([0-9]+)-mr\.html$ index.php?showforum=$1&markread=1 [L]

# Affichage des sujets non-lus
RewriteRule ^forum-unread\.html$ index.php?showtopicgroup=0 [QSA,L]
RewriteRule ^forum-unread-p([0-9]+)\.html$ index.php?showtopicgroup=0&page=$1 [QSA,L]

# Affichage d'un groupe de sujets
RewriteRule ^forum-tg([0-9]+),([a-zA-Z0-9-]+)\.html$ index.php?showtopicgroup=$1 [L]
RewriteRule ^forum-tg([0-9]+)-p([0-9]+),([a-zA-Z0-9-]+)\.html$ index.php?showtopicgroup=$1&page=$2 [L]
RewriteRule ^forum-tg([0-9]+)\.html$ index.php?showtopicgroup=$1 [L]
RewriteRule ^forum-tg([0-9]+)-mr\.html$ index.php?showtopicgroup=$1&markread=1 [L]

# Affichage d'un sujet
RewriteRule ^forum-t([0-9]+),([a-zA-Z0-9-]+)\.html$ index.php?showtopic=$1 [QSA,L]
RewriteRule ^forum-t([0-9]+)\.html$ index.php?showtopic=$1 [QSA,L]
RewriteRule ^forum-t([0-9]+)-firstunreadpost\.html$ index.php?showtopic=$1&gotofirstunreadpost=1 [QSA,L]
RewriteRule ^forum-t([0-9]+)-p([0-9]+),([a-zA-Z0-9-]+)\.html$ index.php?showtopic=$1&page=$2 [QSA,L]
RewriteRule ^forum-t([0-9]+)-p([0-9]+)\.html$ index.php?showtopic=$1&page=$2 [QSA,L]
RewriteRule ^forum-t([0-9]+)-p([0-9]+)-editpoll\.html$ index.php?showtopic=$1&page=$2&editpoll=1 [L]
RewriteRule ^forum-t([0-9]+)-m([0-9]+)\.html$ index.php?showtopic=$1&message=$2 [L]

# Ecriture des messages
RewriteRule ^forum-wtopic-tg([0-9]+)\.html$ index.php?act=wm&newtopic=$1 [L]
RewriteRule ^forum-wpoll-tg([0-9]+)\.html$ index.php?act=wm&newpoll=$1 [L]
RewriteRule ^forum-wmsg-t([0-9]+)\.html$ index.php?act=wm&addreply=$1 [L]
RewriteRule ^forum-wmsg-t([0-9]+)-quote([0-9]+)\.html$ index.php?act=wm&addreply=$1&quotemessage=$2 [L]
RewriteRule ^forum-editmsg-m([0-9]+)-t([0-9]+)\.html$ index.php?act=wm&editmessage=$1&intopic=$2 [L]

# Affichage du profil d'un membre
RewriteRule ^forum-m([0-9]+),([a-zA-Z0-9-]+)\.html$ index.php?act=user&showprofile=$1 [L]

# Edition du profil d'un membre
RewriteRule ^forum-profile([0-9]+)\.html$ index.php?act=user&editprofile=$1 [L]
RewriteRule ^forum-profile([0-9]+)-general\.html$ index.php?act=user&editprofile=$1&page=1 [QSA,L]
RewriteRule ^forum-profile([0-9]+)-changemail\.html$ index.php?act=user&editprofile=$1&page=2 [QSA,L]
RewriteRule ^forum-profile([0-9]+)-changepass\.html$ index.php?act=user&editprofile=$1&page=3 [QSA,L]
RewriteRule ^forum-profile([0-9]+)-avatar\.html$ index.php?act=user&editprofile=$1&page=4 [QSA,L]
RewriteRule ^forum-profile([0-9]+)-signature\.html$ index.php?act=user&editprofile=$1&page=5 [QSA,L]
RewriteRule ^forum-profile([0-9]+)-params\.html$ index.php?act=user&editprofile=$1&page=6 [QSA,L]
RewriteRule ^forum-profile([0-9]+)-topicstracked\.html$ index.php?act=user&editprofile=$1&page=7 [QSA,L]
RewriteRule ^forum-profile([0-9]+)-bookmarks\.html$ index.php?act=user&editprofile=$1&page=8 [QSA,L]

# Affichage des membres
RewriteRule ^forum-members\.html$ index.php?act=members [QSA,L]
RewriteRule ^forum-members-p([0-9]+)\.html$ index.php?act=members&page=$1 [QSA,L]

# Affichage des personnes connectees
RewriteRule ^forum-connected\.html$ index.php?act=cu [L]

# Affichage du panneau de mp
RewriteRule ^forum-mp\.html$ index.php?act=mp [L]
RewriteRule ^forum-mp-inbox\.html$ index.php?act=mp&sub=1 [QSA,L]
RewriteRule ^forum-mp-inbox-p([0-9]+)\.html$ index.php?act=mp&sub=1&page=$1 [QSA,L]
RewriteRule ^forum-mp-outbox\.html$ index.php?act=mp&sub=2 [QSA,L]
RewriteRule ^forum-mp-outbox-p([0-9]+)\.html$ index.php?act=mp&sub=2&page=$1 [QSA,L]
RewriteRule ^forum-mp-write\.html$ index.php?act=mp&sub=3 [QSA,L]
RewriteRule ^forum-mp-read\.html$ index.php?act=mp&sub=4 [QSA,L]

# Recherche dans le forum
RewriteRule ^forum-search\.html$ index.php?act=src [QSA,L]
RewriteRule ^forum-search-p([0-9]+)\.html$ index.php?act=src&page=$1 [QSA,L]

# Affichage des regles du forum
RewriteRule ^forum-rules\.html$ index.php?act=rules [L]

# Panneau de modération
RewriteRule ^forum-moderators\.html$ index.php?act=mods [QSA,L]

# Signaler un message
RewriteRule ^forum-report\.html$ index.php?act=report [QSA,L]

# Enregistrement
RewriteRule ^forum-register\.html$ index.php?act=register [L]

# Changement de mot de passe
RewriteRule ^forum-changepass\.html$ index.php?act=cp [L]

# Validation
RewriteRule ^forum-validate\.html$ index.php?act=validate [QSA,L]

# Connexion
RewriteRule ^forum-login\.html$ index.php?act=login [L]

# Déconnexion
RewriteRule ^forum-logout\.html$ logout.php [L]

# Ecriture des messages
RewriteRule ^forum-writed\.html$ writed.php [L]

# Image dynamique
RewriteRule ^forum-image-([a-z0-9]+)\.html$ image.php?id=$1 [L]


Le nouveau htaccess :
CODE
RewriteEngine on
RewriteBase /forum/
RewriteRule ^index.html$ index.php [L]
RewriteRule ^forum-([0-9]+)-([0-9]+).html$ viewforum.php?id=$1&p=$2 [L]
RewriteRule ^forum-([0-9]+)(.*)$ viewforum.php?id=$1 [L]
RewriteRule ^sujet-([0-9]+)-([0-9]+).html$ viewtopic.php?id=$1&p=$2 [L]
RewriteRule ^sujet-([0-9]+)(.*)$ viewtopic.php?id=$1 [L]
RewriteRule ^message-([0-9]+)(.*)$ viewtopic.php?pid=$1 [L]
RewriteRule ^mes-marque-pages.html$ search.php?action=show_subscriptions [L]
RewriteRule ^profil-([0-9]+)(.*)$ profile.php?id=$1 [L]
RewriteRule ^profile-([0-9]+)(.*)$ profile.php?id=$1 [L]
RewriteRule ^inscription.html$ register.php [L]
RewriteRule ^connexion.html$ login.php [L]
RewriteRule ^recherche.html$ search.php [L]
RewriteRule ^recherche-([0-9]+).html$ search.php?search_id=$1 [L]
RewriteRule ^recherche-([0-9]+)-([0-9]+).html$ search.php?search_id=$1&p=$2 [L]
RewriteRule ^recherche-24-heures.html$ search.php?action=show_24h [L]
RewriteRule ^recherche-sans-reponse.html$ search.php??action=show_unanswered [L]
RewriteRule ^regles.html$ misc.php?action=rules [L]
RewriteRule ^utilisateurs.html$ userlist.php [L]
RewriteRule ^([0-9]+)-mes-messages.html$ search.php?action=show_user&user_id=$1 [L]


En fait je souhaiterais rediriger toutes les anciennes urls sur h**p://www.site.com/forum/ Comment faire ?
Enfin je pense que c'est le mieux ?
SpeedAirMan
Ton ancien forum était sous IPB ? Quelle version ?
doomer2
Non mon ancien forum était un forum connectix boards et là je suis passé sur un punbb
Anonymus
Bonjour,

Tu as, dans les publications du Hub, un article très intéressant sur le Htaccess, et les pages d'erreur :
http://www.webmaster-hub.com/publication/L...herche=htaccess

Commences par mettre une page d'erreur 404, et expliques sur cette page ce qu'il vient de t'arriver.
Ensuite, fais un simple lien, sur cette page, vers la page qui te convient le mieux.

Tu peux, par exemple, mettre un plan du site (sur la page d'erreur), en disant au visiteur de choisir la (nouvelle) catégorie qu'il veut.

Voilà,
Nico.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.