pr=3 et pr=0 apres rewriting

WRInaute impliqué
Bonjour,


je viens de rewrité un petit site pour me faire la main et pas faire de conneries sur les entreprenautes, GG vient d'indexer mes pages rewrités. seul hic, la home est a pr5

en rechercant sur gg, j'essaie de retrouver les deux pages, il semble que certaines ecrites en php est deja disparu.

donc si je suis ce resonnement, il me faut attendre un mois pour retrouver le pr sur les nouvelles pages ?
le basculement en rewriting risque donc d'impacter mes retours depuis GG sur ce site car mes pages ont un pr moindre.

h**p://www.monsite.com/page-4-0.html --------------->pr0
h**p://www.monsite.com/index.php?cat=4p=0 --------------->pr3


n'ayant pas envie de faire de betises, sur les entreprenautes, je cherche a faire la bascule la plus reussi le mois prochain, vos avis m'interessent.

Florent
 
WRInaute occasionnel
Dans ton .htaccess, ajoute le flag suivant pour chaque ré-écriture :

Code:
[R=301]
Le PR sera transmis de tes pages non ré-écrites aux nouvelles rewritées :wink:
 
WRInaute impliqué
Code:
[QSA,L]

merci pyro,

comme je suis une burne en rewriting, mes lignes se finissent avec le code ci-dessus,
peut tu me donner la fin de la syntaxe en fonction de l'element a rajouter.

florent
 
WRInaute impliqué
Code:
php_flag register_globals on
RewriteEngine on
RewriteRule ^([^-.]+)-([0-9]+)\.htm$ index.php?site=$2 [QSA,L]
RewriteRule ^([^-.]+)-([0-9]+)-([0-9]+)\.html$  index.php?cat=$2&p=$3  [QSA,L]

je te l'avais dit je suis une burne en rewriting, le voici entier car ton truc ca me provoque une erreur, je suis sur qu'il manque un truc, non :lol:

pyro, try again :)
 
WRInaute occasionnel
J'ai rectifié quelques minutes après avoir posté, j'avais écrit R=310 au lieu de R=301 :lol:

Ré-essaie :wink:

Code:
php_flag register_globals on 
RewriteEngine on 
RewriteRule ^([^-.]+)-([0-9]+)\.htm$ index.php?site=$2 [QSA,R=301,L] 
RewriteRule ^([^-.]+)-([0-9]+)-([0-9]+)\.html$  index.php?cat=$2&p=$3  [QSA,R=301,L]
 
WRInaute occasionnel
L : signifie la fin de la ré-écriture
QSA : Query String Append : une fois la ré-écriture terminée, les paramètres passés dans l'URL sont ajoutés
R : redirige
301 : redirection permanente
 
WRInaute occasionnel
Une erreur 404 n'a rien avoir avoir la redirection permanente... :wink:

Il y a une couille dans tes expressions régulières :lol:

Montre ce que tu veux obtenir, un lien et comment l'URL doit être ré-écrite.
 
WRInaute impliqué
L et R sont incompatibles.

L indique qu'il faut faire une redirection locale ( le navigateur n'est au courant de rien ), R indique qu'il faut envoyer un entête de redirection au navigateur.

Pour le pb spécifique, il faut faire une redirection 301 des anciennes pages vers les nouvelles.

Exemple:
ancienne page: h**p://www.monsite.com/index.php?cat=4p=0
RewriteRule ^index.php?cat=(.*)&p=(.*) /page-$1-$2.html [R=301]
 
WRInaute impliqué
pyro,

h**p://www.monsite.com/index.php?cat=4p=0 ancienne page

transformé ainsi

h**p://www.monsite.com/page-4-0.html nouvelle page


je sais pas si c'est lié "page" est genéré automatiquement pour chaque rubrique avec un nom different.

flo
 
WRInaute occasionnel
Code:
RewriteRule ^page-([0-9]+)-([0-9]+)\.html$ index.php?cat=$1&p=$2 [QSA,L,R=301]

Pour "page" il faut que cela se transforme comment ?

Exemple (c'est toujours pareil :)) :

Code:
RewriteRule ^([a-z]+)-([0-9]+)-([0-9]+)\.html$ index.php?page=$1cat=$2p&=$3[NC,QSA,L,R=301]
Le flag NC signifie "No Case", ne prend pas en compte la casse.
 
WRInaute occasionnel
Oui ok mais est-ce que cette variable doit être transmise dans l'URL ou bien c'est juste pour plaire à Google ? :lol:

J'ai vu que tu utilisais un underscore, donc :

Code:
RewriteRule ^([a-z_]+)-([0-9]+)-([0-9]+)\.html$ index.php?page=$1cat=$2p&=$3 [NC,QSA,L,R=301]
 
WRInaute impliqué
Code:
RewriteRule ^([^-.]+)-([0-9]+)\.htm$ index.php?site=$2 [QSA,L]
reecrit :
index.php?site=XX
en :
nomvariable*-XX.htm

nomvariable n'est pas fixe, il peut prendre des valeurs différentes exemple : (nom_rubrique, page, page_rubrique, nom_cat,...)


si je tente R=301 pour envoyer les anciennes pages indexées (index.php?site=XX)par Google sur les nouvelles reecrites (en novariable-XX.htm) et ainsi recuperer le PR avec le code suivant


Code:
RewriteRule ^([^-.]+)-([0-9]+)\.htm$ index.php?site=$2 [NC,QSA,R=301,L]

cela me retourne cette erreur :

Code:
 /home/web/messites/monsite/index.php was not found on this server.

cela revient a m'afficher le repertoire ou est stocké mon site sur mon serveur.


j'ai essayé de remettre a plat mon pb
 
WRInaute passionné
Lentreprenaute a dit:
Code:
RewriteRule ^([^-.]+)-([0-9]+)\.htm$ index.php?site=$2 [QSA,L]
reecrit :
index.php?site=XX
en :
nomvariable*-XX.htm

Pour commencer c'est l'inverse : ton code réécrit

nomvariable*-XX.htm en index.php?site=XX

Ton pb vient peu être de là...
 
Discussions similaires
Haut