Redirection de pages + incompatibilité entre htaccess.

WRInaute discret
Bonsoir,


Je suis entrain de mettre a jour un site web, afin de permettre une utilisation dynamique, une meilleure accesibilité, un respect des normes W3C, etc...
Cependant, je souhaite ne pas perdre mon positionnement sur certaines requetes spécifiques a mon activité.
J'ai donc lu le forum et les articles de WRI, et il semblerait que la meilleure solution pour moi soit d'utiliser l'url rewriting et donc un htaccess.

Cependant j'aimerai savoir s'il est possible dans les règles de spécifier a chaque fois, telle url pointera sur tel autre url, donc ne pas faire de regle générale.
Car si j'ai bien lu, je n'ai vu que des redirections relativement générale actualité/article >> article, etc...

Cela ne sera t il pas trop "lourd" pour les moteurs? aucun risque de penalisation?


Je vous remercis d'avance de vos conseils.
 
WRInaute accro
Non, aucun risque de pénalisation ni de lourdeur.

Tu peux en effet mettre en place des règles "générales", répondant à des schémas de construction types en utilisant des expressions régulières, ou des règles "individuelles" sans problème. Faut juste faire attention que les règles individuelles ne soient pas bypassées par les règles générales.
 
WRInaute passionné
la mise en place de l'url rewritting se fait en plusieurs étapes :
- déterminer comment chaque type de page est réécrit. Par exemple :
index.php?page=3&id=5 vers une-description-avec-des-mots-cle-id5p3.html

- mettre en place les règles de rewritting. Soit pour l'exemple précédent :
Code:
RewriteRule ^(.*)-id([0-9]+)p([0-9]+)\.html$   /index.php?page=$2&id=$3 [L]

- rediriger les anciennes pages vers les nouvelles en faisant une redirection 301 en début de script php avec :
Code:
header("Status: 301 Moved Permanently", false, 301);
header("Location: nouvelle_url.html");
 
WRInaute discret
En réalité mon souci n'entre pas vraiment dans ces categories.

Le site de base est statique, mais tres mal conçu, avec des pages en html, des pages en php, du style a gogo dans les pages meme, etc...

Et ce que je suis entrain de faire c'est de tout reconstruire, afin de repartir sur une base propre, et cette fois ci le site sera dynamique. Je ne m'inquiete pas pour celui ci, il est a la base relativement bien conçu pour le référencement, n'utilisant pas d'id, de session ou autre, seulement du xml/html.

Et donc, ce que je souhaite realiser, c'est des redirectiosn "pages statiques html ou php" vers "nouvelles pages du site remis a neuf".

Et je voulais savoir si avec l'url rewriting, donc un htaccess, je pouvais mettre une a une les redirection 301 de mes pages ( au total il doit y en avoir 20-30 il me semble).


Possible ou non?!
 
WRInaute discret
Mais tu me parlais de façon générique, et si l'ancien site etait dynamique, non?!

Enfin, si j'ai bien compris, suffit que dans mon htaccess je place chacune des regles pour chaque url redirigé et ce sera bon.
 
WRInaute passionné
le plus simple est de mettre un redirectpermanent dans le htacess qui redirige les url une par une si aucune règle générique n'est possible :
Code:
RedirectPermanent ancienne-url.html http://www.tonsite.fr/nouvelle-url.html
 
WRInaute accro
El-Cherubin a dit:
Mais tu me parlais de façon générique, et si l'ancien site etait dynamique, non?!
Euh non :) je te parlais de la possibilité de mettre des règles une à une.

webmasterlamogere a dit:
le plus simple est de mettre un redirectpermanent dans le htacess qui redirige les url une par une si aucune règle générique n'est possible.

J'ai cru lire à un endroit que le redirectpermanent était un peu plus gourmand en ressources serveur qu'un rewriterule ?
 
WRInaute discret
Donc je fais soit :

Code:
RedirectPermanent /ancienne_page. "php ou html"  http://www.monsite.com/nouvelle_page_au_choix

ou

Code:
RewriteRule /ancienne_page. "php ou html"  http://www.monsite.com/nouvelle_page_au_choix [R=301]

Il est conseillé de mettre les url complete avec le http://www ou en se basant sur la racine c'est bon?


Autre question, ya pas de limite de rewriterule dans un htaccess? je peux aussi mettre mes parametres de redirection pour conserver toujours les www, etc....?



Et donc avec cela, les pages indexé dans google du type ancienne_page.html seront redirigé automatiquement lorsque l'internaute cliquera vers nouvelle_page (extension ou pas au choix )
 
WRInaute accro
Que les règles soient définies une à une ou par regex ne change absolument rien: Google reçoit la même info dans les deux cas.

Il ne lit pas le fichier .htaccess "en clair", c'est le serveur qui renvoie un état en fonction de ce qu'on lui demande.
 
WRInaute discret
J'ai un léger probleme...

Depuis que j'ai mis mon htaccess avec redirection 301 a la racine du site, afin de forcer les www entre autres, mes autres htaccess qui servaient à limité l'accés a certain répertoire ne fonctionnent plus.
Comme s'il y avait une incompatibilité.


Quelqu'un aurait une explication, voir une solution...?

Exemple avec le site http://www.infocompub.fr :
Code:
Options +FollowSymlinks
RewriteEngine on 

RewriteCond %{HTTP_HOST} !^www\.infocompub\.fr$ [NC]
RewriteRule ^(.*) http://www.infocompub.fr/$1 [QSA,L,R=301]

Le fichier qui se situe a la racine, avec la seule regle pour les www.

Celui ci fonctionne, mais empeche ceux securisant l'accés aux cours, ou à l'administration.
L'un se situe à ./cours/ , l'autre ./core/admin/

Merci de votre aide. :)
 
Discussions similaires
Haut