Modifications internes des liens et redirection 301

Nouveau WRInaute
Bonjour,

Lorsque les liens des pages changent (alors que l'hébergeur reste le même), faut-il utiliser une redirection 301 dans un fichier htaccess ?

Sinon, comment indiquer à google de ne plus référencer les anciennes adresses mais les nouvelles ?
Est-ce qu'il suffit de supprimer tout le contenu de l'ancienne page (y compris les meta) et de faire une redirection javascript + un lien vers la nouvelle adresse pour que l'ancienne page ne soit plus référencée mais que la nouvelle soit intégrée dans google ?
 
Nouveau WRInaute
Merci pour cet article.
En fait dans un fichier htaccess je dois écrire ça :

Code:
RewriteEngine on 
RewriteRule ancien_fichierl.htm  http://www.ton-nouveau-site.com/nouveau-fichier.htm [R=301]

Et pour chacune des pages dont l'url a changé je dois mettre ça :
Code:
RewriteRule ancien_fichierl.htm  http://www.ton-nouveau-site.com/nouveau-fichier.htm [R=301]

J'ai pas fini, j'ai plus de 200 pages à faire... :cry: N'y aurait-il pas un truc plus rapide ?

Au fait je ne suis pas vraiment nouvelle, je préquentais assez souvent l'ancienne version mais avec d'autres pseudos que j'ai oubliés :oops:
 
WRInaute passionné
C'est cette syntaxe si tu veux rediriger page par page
sinon tu peux redirigier en global vers la racine mais c'est moins bien pour le visiteur.
N'as tu pas une variable commune entre les anciennes pages et les nouvelles
un numéro d'article par exemple qui permet de faire de l'url rewriting générique avec une seule ligne si par exemple article_ancien-12.html donnera article_nouveau-12.html
 
Nouveau WRInaute
Une variable commune entre les anciennes pages et les nouvelles ?

Oui, le nom du fichier, puisqu'il est resté le même, seul l'emplacement et la manière d'appeler le fichier ont changé :

Code:
ancienne adresse : http://www.monsite.org/nomdufichier.htm
nouvelle adresse : http://www.monsite.org/menu.php?page=nomdufichier.htm

donc le nom du fichier est identique dans l'ancienne et dans la nouvelle adresse. Comment je peux simplifier la redirection dans ce cas ?
 
WRInaute passionné
Celà pourrait donner
Code:
RewriteEngine on
RewriteRule ([a-z-]+)\.htm$   http://www.monsite.org/menu.php?page=$1.htm [R=301,L]

et il y a d'autres page dans WRI si tu fait une recherche sur rewiterule depuis la zone de recherche en haut à droite :wink:
 
Nouveau WRInaute
Merci,

En fait ma nouvelle adresse est :
Code:
http://www.monsite.org/menu.php?page=htm/nomdufichier.htm
(j'avais oublié de mentionner que mes nouvelles pages étaient dans le dossier htm tout à l'heure).

Donc ça devrait me donner ça :

Code:
RewriteEngine on 
RewriteRule ([a-z-]+)\.htm$   http://www.monsite.org/menu.php?page=htm/$1.htm [R=301,L]

Merci beaucoup pour ton aide, ça m'évite d'écrire plus de 200 fois la même chose.
 
Nouveau WRInaute
Bonjour,

J'ai écrit ça dans mon fichier htaccess :
Code:
ErrorDocument 404 http://www.cestfacile.org/404.htm
RewriteEngine on 
RewriteRule ([a-z-]+)\.htm$   http://www.monsite.org/menu.php?page=htm/$1.htm [R=301,L]

(d'habitude il n'y a que la première mais j'ai rajouté les suivantes pour ma redirection permanentes)

Mais alors mon site ne marche plus, j'ai ce message :
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Comment je peux faire pour éviter cela ?
 
Discussions similaires
Haut