[Redirection 301] index.php?page=var vers var.html

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

Boeing
WRInaute discret
WRInaute discret
 
Messages: 82
Inscription: 22 Fév 2004

[Redirection 301] index.php?page=var vers var.html

Message le Lun Aoû 06, 2007 19:01

Bonsoir,

Voilà, j'ai fait mon url rewriting, tout est OK.

Mon site est récent, mais google a déja indexé des pages non rewrité, (~27).
Je veux que maintenant, il "oublie" les anciennes URL, au profit des nouvelles.

J'ai essayé différentes manières de rediriger index.php?page=$var, vers var.html en 301, mais j'ai pas pu.

J'ai cru savoir qu'il fallait utiliser un query string..
mais je me perds.

PS:
J'ai trois type d'urls rewritées :
index.php?page=var, vers var.html
index.php?page=var&id=id, vers var-id.html
index.php?page=$var&id=id&p=npage, vers var-id-npage.html

Deuxième question,
Je voudrai pouvoir rewrité,
index.php?page=$var&id=id&p=1, vers var-id.html
et même var-id-1.html vers var-id.html.

Merci de votre aide.
Bonne soirée. :)


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Message le Lun Aoû 06, 2007 19:35

Quelques if($var), if($id) et if($p) plus tard, au tout début du code de ton index.php, tu pourras générer aisément un, deux ou trois

Code: Tout sélectionner
   header("Status: 301 Moved Permanently", false, 301);
   header("Location: http://".$_SERVER['HTTP_HOST']."/");
   exit;


qui te conviendront ;)

Boeing
WRInaute discret
WRInaute discret
 
Messages: 82
Inscription: 22 Fév 2004

Message le Lun Aoû 06, 2007 19:55

Je vais essayé, merci.

Mais j'aurai aimé le faire par le biais du htaccess, mais c'est pas grave.

Merci quand même.

Superbaloo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 18
Inscription: 11 Mar 2007

Re: [Redirection 301] index.php?page=var vers var.html

Message le Jeu Aoû 09, 2007 0:04

ooooops
Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteRule ^index.php\?page=(.+)&id=(.+)&p=(.+)$ /$1-$2-$3.html [R=301,L]
RewriteRule ^index.php\?page=(.+)&id=(.+)$ /$1-$2.html [R=301,L]
RewriteRule ^index.php\?page=(.+)$ /$1.html [R=301,L]





Et on remercie chaleureusement le moderateur qui supprime des posts avec des infos a l'interieur ... (Celui duquel ce post venait comme correction)


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Re: [Redirection 301] index.php?page=var vers var.html

Message le Jeu Aoû 09, 2007 1:05

Superbaloo a écrit:ooooops
Et on remercie chaleureusement le moderateur qui supprime des posts avec des infos a l'interieur ... (Celui duquel ce post venait comme correction)


lol, de la maniere dont le sujet est présenté, tout porte a croire qu'il veut une urlrewriting mais naaann !!! il a deja le rewrite, ce qu'il veut c'est la redirection php maintenant...

Superbaloo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 18
Inscription: 11 Mar 2007

Message le Jeu Aoû 09, 2007 9:23

Alors http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

'redirect|R [=code]' (force redirect)

Prefix Substitution with http://thishost[:thisport]/ (which makes the new URL a URI) to force a external redirection. If no code is given, a HTTP response of 302 (MOVED TEMPORARILY) will be returned. If you want to use other response codes, simply specify the appropriate number or use one of the following symbolic names: temp (default), permanent, seeother. Use this for rules to canonicalize the URL and return it to the client - to translate ``/~'' into ``/u/'', or to always append a slash to /u/user, etc.
Note: When you use this flag, make sure that the substitution field is a valid URL! Otherwise, you will be redirecting to an invalid location. Remember that this flag on its own will only prepend http://thishost[:thisport]/ to the URL, and rewriting will continue. Usually, you will want to stop rewriting at this point, and redirect immediately. To stop rewriting, you should add the 'L' flag.

While this is typically used for redirects, any valid status code can be given here. If the status code is outside the redirect range (300-399), then the Substitution string is dropped and rewriting is stopped as if the L flag was used.


c'est bien une redirection que je fais, dans le cas ou ca ne marche pas faire
Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteRule ^index.php\?page=(.+)&id=(.+)&p=(.+)$ http://example.com/$1-$2-$3.html [R=301,L]
RewriteRule ^index.php\?page=(.+)&id=(.+)$ http://example.com/$1-$2.html [R=301,L]
RewriteRule ^index.php\?page=(.+)$ http://example.com/$1.html [R=301,L]


Il faut savoir utiliser les technologies adaptes au problème. Il souhaitait un redirection sur un htaccess, et il a parfaitement raison, il n'y a aucun besoin de php ici.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Aoû 09, 2007 9:46

relis le sujet du topic. Son rewrite est deja en place et ce n'est pas avec un simple tag [R=301] que Google va desindéxer ses anciennes pages. La solution est php...

Superbaloo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 18
Inscription: 11 Mar 2007

Message le Ven Aoû 10, 2007 13:58

KOogar a écrit:relis le sujet du topic. Son rewrite est deja en place et ce n'est pas avec un simple tag [R=301] que Google va desindéxer ses anciennes pages. La solution est php...


Avec le rewrite que j'ai donner (qui est en fait une redirection), lors que tu vas sur la page index.php?page=jsaispasquoi tu recois un header avec une erreur 301 moved permanently, qui te renvois sur /jesaispasquoi.html.

La solution que je donne est IDENTIQUE a celle en php, elle ne fait juste pas appel a php. Mais directement a apache.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Ven Aoû 10, 2007 15:27

parceque toi dans le meme fichier .htaccess tu arrive a faire

la reecriture normal

Code: Tout sélectionner
RewriteRule ^page-(*.)\.html$  http://example.com/page.php?id=$1 [L]


et sa redirection...

Code: Tout sélectionner
RewriteRule ^page.php\?id=(.+)$ http://example.com/page-$1.html [R=301,L]



explique moi quand ca marche ?? je sens qu'on va y passer des heures si tu te rend pas vite compte de l'enormité du probleme.
On va faire comme le code source, boucler, boucler.... zzzzzzzzzz

remarque en y repensant, si le tag [L] est bien respecté, ca devrait le faire. As tu testé en production ce que tu proposes ?

Superbaloo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 18
Inscription: 11 Mar 2007

Message le Ven Aoû 10, 2007 17:20

KOogar a écrit:remarque en y repensant, si le tag [L] est bien respecté, ca devrait le faire. As tu testé en production ce que tu proposes ?


Voila :)

il suffit de mettre la redirection AVANT la reecriture, et encore que les deux doivent marcher


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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