Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

[RESOLU] Réécriture, redirection et R301

Poster un nouveau sujet Imprimer cette discussion    Forum -> URL Rewriting et .htaccess   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
teog
Nouveau WRInaute

Inscrit le: 22 Oct 2007
Messages: 5

URL permanente de ce messagePosté le : Lun Oct 22, 2007 16:59    Sujet du message: [RESOLU] Réécriture, redirection et R301

Bonjour,

Voilà mon soucis :
J'aimerai effectuer une réécriture d'adresse de pages qui sont déja référencées.
Le but étant que l'utilisateur voit article-XX.html dans sa barre d'adresse au lieu de article.php?id=XX. (en gardant mon fichier nommé article.php, normal Smile )

donc j'ai (naïvement) fait ça :

Code:

#Reecriture
RewriteRule ^article-(.*).html$ article.php?id=$1

#Redirection
RewriteRule ^article.php?id=(.*)$ article-$1.html [R=301]


La redirection marche mais je ne sais pas si le R301 est correcte et donc si je ne perdrai pas mon référencement.

J'ai fait un test de mon entête et j'ai comme réponse un simple HTTP/1.0 200 OK , devrais-je avoir un HTTP/1.1 301 ???

aussi, y-a t-il un moyen pour que si l'on tape www.monsite.fr/article.php?id=12 on tombe sur cette meme page mais avec l'url = www.monsite.fr/article-12.html ?

Qu'en pensez vous ?


Dernière édition par teog le Mar Oct 23, 2007 13:18; édité 1 fois
 
teog
webmasterlamogere
WRInaute accro
WRInaute accro

Inscrit le: 17 Déc 2006
Messages: 1623
Localisation: urlrewriting.fr

URL permanente de ce messagePosté le : Lun Oct 22, 2007 17:24    Sujet du message: [RESOLU] Réécriture, redirection et R301

les paramètres ne marchent pas comme ca. il faut utiliser un truc du style :
Code:
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^article\.php$ article-%1.html [R=301]
 
webmasterlamogere Visiter le site web du posteur
teog
Nouveau WRInaute

Inscrit le: 22 Oct 2007
Messages: 5

URL permanente de ce messagePosté le : Lun Oct 22, 2007 17:45    Sujet du message: [RESOLU] Réécriture, redirection et R301

Déjà, Merci pour ta réponse ! Very Happy
En effet il faut une condition,
le fait est que maintenant le R301 est pris en compte mais ne fait pas ce que je voudrais qu'elle fasse.
J'ai essayé ca :

Code:

#Reecriture
RewriteRule ^article-(.*).html$ article.php?id=$1

#Redirection
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^article\.php$ http://www.monsite.fr/article-%1.html [R=301]


pour l'adresse www.monsite.fr/article-xx.html, je suis redirigé vers www.monsite.fr/article-xx.html?id=xx

même redirection si je tape www.monsite.fr/article.php?id=xx
et pour les deux un petit message : "Redirection de page incorrecte" ...
 
teog
webmasterlamogere
WRInaute accro
WRInaute accro

Inscrit le: 17 Déc 2006
Messages: 1623
Localisation: urlrewriting.fr

URL permanente de ce messagePosté le : Lun Oct 22, 2007 20:25    Sujet du message: [RESOLU] Réécriture, redirection et R301

Je pense que quelque chose comme ca devrait marcher :
Code:
#Reecriture
RewriteRule ^article-(.*)\.html$ /article2.php?id=$1 [L]
#Redirection
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteCond %{REQUEST_URI} !html$
RewriteRule ^article\.php$ /article-%1.html? [R=301,L]

En renommant article.php en article2.php ca marche (sinon ca boucle et je ne comprend pas pourquoi car il y a un [L]).
 
webmasterlamogere Visiter le site web du posteur
teog
Nouveau WRInaute

Inscrit le: 22 Oct 2007
Messages: 5

URL permanente de ce messagePosté le : Mar Oct 23, 2007 10:54    Sujet du message: [RESOLU] Réécriture, redirection et R301

Je viens de tester ce bout de code et effectivement ca boucle.

La redirection marche au niveau de l'url, mais on arrive sur une page d'erreur "Redirection de page incorrecte"

La redirection a du coup beaucoup moins d'intéret si on renome article.php.

Tout comme toi je ne comprends pas pourquoi ca boucle par rapport au [L], mais il me semble que les conditions laissent passer article-xx.html , même si ça devrait s'arreter avant ... Confused

Je continu de chercher de mon coté mais...
Moi pas bien comprendre...
Vous avoir idée ?
 
teog
teog
Nouveau WRInaute

Inscrit le: 22 Oct 2007
Messages: 5

URL permanente de ce messagePosté le : Mar Oct 23, 2007 12:26    Sujet du message: [RESOLU] Réécriture, redirection et R301

Je me fait doucement aux principes de réecriture ... donc en fait le problème est clair maintenant (pour moi)

j'ai refait mon code ... c'est la même chose, mais bon, je le met quand même :
Code:

#Reecriture
RewriteRule article-([0-9]+)\.html$ article.php?id=$1 [L]
#Redirection
RewriteCond %{REQUEST_URI} ^.*\.php$
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^article\.php$ http://www.monsite.fr/article-%1.html? [R=301]


Le probleme viens exclusivement du fait que la lecture du .htaccess ne s'arrete pas apres :

Code:
RewriteRule article-([0-9]+)\.html$ article.php?id=$1 [L]


Deplus, la condition :
Code:
RewriteCond %{REQUEST_URI} !html$
ou
Code:
RewriteCond %{REQUEST_URI} ^.*\.php$

est, je crois, toujours valide car après la récriture (peut importe l'url tapé), c'est la version en ".php" qui arrive à la condition. Je fais fausse route ?

Ca ne résous pas pour autant le problème, mais au moins c'est plus clair...
 
teog
webmasterlamogere
WRInaute accro
WRInaute accro

Inscrit le: 17 Déc 2006
Messages: 1623
Localisation: urlrewriting.fr

URL permanente de ce messagePosté le : Mar Oct 23, 2007 13:04    Sujet du message: [RESOLU] Réécriture, redirection et R301

Je ne trouve pas la solution. C'est un problème pour un pro du rewritting.
 
webmasterlamogere Visiter le site web du posteur
teog
Nouveau WRInaute

Inscrit le: 22 Oct 2007
Messages: 5

URL permanente de ce messagePosté le : Mar Oct 23, 2007 13:16    Sujet du message: [RESOLU] Réécriture, redirection et R301

J'ai "bricolé" une solution ...
Comme on peux pas faire de compteur de boucle j'ai fait un marqueur qui dit "le lien est réécrit", voici donc le code qui marche :

Code:

#Reecriture
RewriteRule article-([0-9]+)\.html$ article.php5?id=$1&- [L]
#Redirection
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^article\.php5$ http://www.fundraisers.fr/test/article-%1\.html? [R=301]


J'ai rajouté &- juste avant le [L] ce qui fait que l'url rewrité ne répond plus la condition de redirection et ceci n'influx pas sur l'adresse de la page.

C'est pas très propre mais ça marche !!!

Merci en tout cas webmasterlamogere pour ton aide !

Je marque la discussion comme RESOLU, étant donné que ça marche.
Mais ce n'est pas une "vraie" solution à ce problème et vous pouvez d'ailleur toujours en proposers une !
 
teog
 
Montrer les messages depuis:   
Revenir en haut    Forum -> URL Rewriting et .htaccess Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort