Règle globale avant de poursuivre les autres réécritures ?

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


lekeno
Nouveau WRInaute
 
Messages: 21
Inscription: Ven Déc 03, 2004 1:44

Règle globale avant de poursuivre les autres réécritures ?

Message le Sam Juin 04, 2005 1:22

Bonjour,

Je me suis enfin mis à l'url rewriting !
J'ai donc commencé par une petite partie de mon site.
Il s'agit de la partie "archives".

Avant les adresses étaient de la forme
Code: Tout sélectionner
/archives/archives.php?date=aaaammjj pour le mois mm de l'année aaaa (la partie jour 'jj' ne sert à rien).


Maintenant elles sont comme suit :
Code: Tout sélectionner
/archives/aaaa/mm/


Ce qui est effectivement bien plus simple.
Les anciennes formes sont redirigées vers la nouvelle avec un 301 pour faire plaisir à Google entre autres.

Maintenant il me reste le paramètre 'langue' optionel :
Code: Tout sélectionner
/archives/aaaa/mm/?langue=jp_jp


J'aimerai faire quelquechose comme :
Code: Tout sélectionner
/jp/archives/aaaa/mm/


Ce qui n'a rien de difficile en soit mais j'aimerai le faire pour toutes les autre urls en une seule fois apres une premiere regle de reecriture.
Les autres pages seront réécrites de cette façon :
Code: Tout sélectionner
/photos/photo.php?id=20050201.1000.1.jpg&langue=jp_jp
==> /photos/2005/02/01.1000.1/?langue=jp_jp

/photos/photo.php?id=20040201.1.jpg&langue=jp_jp
==> /photos/2004/02/01.1/?langue=jp_jp

/photos/photo.php?id=20040201.jpg&langue=jp_jp
==> /photos/2004/02/01/?langue=jp_jp


etc... pour les autres adresses du même style et finalement une autre règle pour mettre en tête la langue :
Code: Tout sélectionner
/jp/photos/2005/02/....
/jp/videos/2005/...



Pour l'instant mon fichier htaccess ressemble à ça :

Code: Tout sélectionner
RewriteEngine on
RewriteRule ^archives/([0-9]{4,4})/([0-9]{2,2})/$                       /archives/archives.php?rew=1&date=$1$201  [QSA,L]

RewriteCond %{QUERY_STRING} ^date=([0-9]{4,4})([0-9]{2,2})([0-9]{2,2})$ [NC]
RewriteRule ^archives/archives\.php$               /archives/%1/%2/? [NC,L,R=301]

RewriteCond %{QUERY_STRING} ^date=([0-9]{4,4})([0-9]{2,2})([0-9]{2,2})&langue=(.*)$ [NC]
RewriteRule ^archives/archives\.php$               /archives/%1/%2/?langue=%4 [NC,L,R=301]


#pas encore en place mais pour les photos je pense faire :
RewriteRule ^photos/([0-9]{4,4})/([0-9]{2,2})/([0-9]{2,2})(\.[0-9]{4,4})?(\.[0-9]*)?/$                       /photos/photo.php?rew=1&id=$1$2$3$4$5  [QSA,L]

RewriteCond %{QUERY_STRING} ^id=([0-9]{4,4})([0-9]{2,2})([0-9]{2,2})(\.[0-9]{4,4})?(\.[0-9]*)?$ [NC]
RewriteRule ^photos/photo\.php$               /photos/%1/%2/%3%4%5/? [NC,L,R=301]

RewriteCond %{QUERY_STRING} ^id=([0-9]{4,4})([0-9]{2,2})([0-9]{2,2})(\.[0-9]{4,4})?(\.[0-9]*)?&langue=(.*)$ [NC]
RewriteRule ^photos/photo\.php$               /photos/%1/%2/%3%4%5/?langue=%4 [NC,L,R=301]



Je pense à une première régle qui gére le paramètre lang mais qui ne termine pas ? Comment cela s'écrit-il ?


Merci.

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Sam Juin 04, 2005 8:57

Il suffit de ne pas mettre de L (arrêt du rewriting) dans les flags. Ca devrait ressembler à
Code: Tout sélectionner
RewriteEngine on
RewriteRule ^jp/(.*)$ $1?langue=jp
RewriteRule ^archives/([0-9]{4,4})/([0-9]{2,2})/$ /archives/archives.php?rew=1&date=$1$201  [QSA,L]


lekeno
Nouveau WRInaute
 
Messages: 21
Inscription: Ven Déc 03, 2004 1:44

Message le Dim Juin 05, 2005 14:39

Merci !
Ca a l'air de fonctionner. Je vais faire les modifications par petits bouts.


lekeno
Nouveau WRInaute
 
Messages: 21
Inscription: Ven Déc 03, 2004 1:44

Message le Lun Juin 06, 2005 7:07

J'ai un doute sur mes règles 301 dans le .htaccess pour dire à Google "les adresses que tu connaissais ont changés" :

Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^date=([0-9]{4,4})([0-9]{2,2})([0-9]{2,2})$ [NC]
RewriteRule ^archives/archives\.php$               /archives/%1/%2/? [NC,L,R=301]
...


Est ce que cela fonctionne, ou faut il plutôt lui retourner des 404 ?
Il a encore les anciennes adresses mais il me semble qu'il n'a pas encore revisité les archives donc je ne sais pas...

Quelqu'un a t'il déjà eu affaire à ce problème ?


julio38
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 124
Inscription: Mar Avr 19, 2005 18:36

Message le Lun Juin 06, 2005 8:21

Si tu lui met une erreur 404, il va pas apprécié: surtout que c'est pas ton cas, la page est juste redirigé.

Il faut un certain temps aux crawlers pour tenir compte de tous les changements - be patient !


lekeno
Nouveau WRInaute
 
Messages: 21
Inscription: Ven Déc 03, 2004 1:44

Message le Lun Juin 06, 2005 9:03

Merci.
Je vais patienter.
En meme temps, j'appate le Google avec un lien "archive" au nouveau format sur la page principale :-D

On verra bien si il mord plus vite comme ça !


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités