[problème] probleme de récriture dynamique

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

y.berges
Nouveau WRInaute
 
Messages: 3
Inscription: Jeu Avr 24, 2008 9:41

[problème] probleme de récriture dynamique

Message le Jeu Avr 24, 2008 9:50

Salut a tous j'ai essayer de bien lire le tuto de webrankinfo
voici mon htaccess
Code: Tout sélectionner
# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Activation du module de réécriture d'URL :
RewriteEngine on

# test d'écriture :
RewriteRule ^essai\.html$ /essai.php

#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------

RewriteRule ^article-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /article2.php?idsouscat=$1&idsection=$2&idcat=$3&idarticle=$4 [L]
RewriteRule ^article-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /article.php?idsouscat=$1&idsection=$2&idcat=$3 [L]
RewriteRule ^index\.html$ /index.php
RewriteRule ^exposition\.html$ /menu.php?idsection=1


alors mon RewriteRule ^essai\.html$ /essai.php fonctionne !
mais le reste ne réagis absolument pas ....
Code: Tout sélectionner
RewriteRule ^article-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /article2.php?idsouscat=$1&idsection=$2&idcat=$3&idarticle=$4 [L]

c'est cette url
http://www.lebbb.org/article2.php?idsou ... rticle=557

ca c'est pour réécrire l'index.php
Code: Tout sélectionner
RewriteRule ^index\.html$ /index.php


et ca c'est pour certaines pages
Code: Tout sélectionner
RewriteRule ^exposition\.html$ /menu.php?idsection=1

ici http://www.lebbb.org/menu.php?idsection=1

pourquoi j'ai qu'une ecriture qui marche qu'ai je loupé !
Merci d'avance


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Avr 24, 2008 10:28

ca marche bien :
-http://www.lebbb.org/exposition.html
-http://www.lebbb.org/article-1-1-15-557.html
-http://www.lebbb.org/index.html

y.berges
Nouveau WRInaute
 
Messages: 3
Inscription: Jeu Avr 24, 2008 9:41

Message le Jeu Avr 24, 2008 10:43

oki je capte ...
mais quand je part du site les url ne sont pas réécritent
mon http://www.lebbb.org/article2.php?idsou ... rticle=557
reste bien http://www.lebbb.org/article2.php?idsou ... rticle=557
pourquoi il ne les réécrit pas tout le temps ?


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Avr 24, 2008 14:25

il faut modifier les liens sur tes pages pour mettre les nouveaux : c'est pas automatique

y.berges
Nouveau WRInaute
 
Messages: 3
Inscription: Jeu Avr 24, 2008 9:41

Message le Jeu Avr 24, 2008 14:37

de maniere dynamique c'est pas possible ? car mon site est dynamique je peu genere des pages a loisirs
j'aimerais bien que mes url suivent cette optimisation !
Merci pour tes réponses


Toma
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 120
Inscription: Mer Jan 18, 2006 1:09

Message le Jeu Avr 24, 2008 15:00

Tu confonds ré-écriture et redirection.

Pour le moment dans ton fichier .htaccess tu fais des ré-écritures. Et contrairement à ce que leur nom pourrait laisser croire ça ne change pas l'adresse dans la barre du navigateur. Ça dit juste à ton serveur de ne pas aller chercher (par exemple)
Code: Tout sélectionner
http://www.lebbb.org/article-1-1-15-557.html

mais
Code: Tout sélectionner
http://www.lebbb.org/article2.php?idsouscat=1&idsection=1&idcat=15&idarticle=557

Cette ré-écriture est invisible pour l'utilisateur. L'adresse du navigateur reste la même, elle est juste ré-écrite en interne.


Maintenant, toi ce que tu voudrais en plus c'est que les gens qui tapent l'ancienne adresse
Code: Tout sélectionner
http://www.lebbb.org/article2.php?idsouscat=1&idsection=1&idcat=15&idarticle=557

ne voient plus cette adresse dans leur navigateur mais la nouvelle :
Code: Tout sélectionner
http://www.lebbb.org/article-1-1-15-557.html

Pour cela il faut faire une redirection avec ton htaccess (ou en php) en utilisant toujour une règle de ré-écriture avec la deuxième url en entier (avec le http://) et avec [R=301,L] à la fin de la ligne.
Par exemple :
Code: Tout sélectionner
RewriteRule ^article2.php\?idsouscat=([0-9]+)&idsection=([0-9]+)&idcat=([0-9]+)&idarticle=([0-9]+) http://www.lebbb.org/article-$1-$2-$3-$3\.html$ [R=301,L]

(cette ligne ne doit pas être correcte je suis pas très expérimenté en expressions rationnelles, mais tu dois voir l'idée)
Ici, comme la deuxième url est écrite en entier, l'ancienne adresse est remplacée par la nouvelle dans le navigateur. Et le code R=301 dit au navigateur qu'il y a bien redirection.


Mais il y a maintenant un gros problème car tu fais une boucle infinie sur ton serveur avec les ré-écritures et les redirections.
Pour éviter ça, il ne faut pas utiliser les anciens noms de variables dans tes ré-écritures. Par exemple pour les ré-écritures tu pourrais mettre :
Code: Tout sélectionner
RewriteRule ^article-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /article2.php?idsouscat_new=$1&idsection_new=$2&idcat_new=$3&idarticle_new=$4 [L]

Comme ça tu casses la boucle infinie. Bien sur, il faut que tu changes ton code php pour qu'il attende les nouveaux noms de variables et plus les anciens.


Pour résumer :
Code: Tout sélectionner
http://www.lebbb.org/article2.php?idsouscat=1&idsection=1&idcat=15&idarticle=557

est redirigé vers
Code: Tout sélectionner
http://www.lebbb.org/article-1-1-15-557.html

qui est ré-écrit en
Code: Tout sélectionner
http://www.lebbb.org/article2.php?idsouscat_new=1&idsection_new=1&idcat_new=15&idarticle_new=557

Et ton fichier article2.php gère les variables truc_new et plus les variables truc.

Enfin, et même si ce n'est pas indispensable il faut que tu mettes les nouvelles (et belles) adresses dans les liens internes de ton site (pour éviter au serveur des redirections inutiles).

J'espère ne pas avoir dit trop de conneries.


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 :

Consultez la description détaillée des produits ou services de Google suivants : Google Sitemaps



Qui est en ligne

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