Rediriger sans 301 ?

WRInaute impliqué
J'ai un site qui coule lentement mais surement sur google à cause (je pense) des répertoires mal organisés, je suis en train de réfléchir à une nouvelle organisation plus optimisée du genre
-http://www.ndd.com/MOT-CLEF/mot-clef.htm
alors qu'auparavant j'utilisais
-http://www.ndd.com/REPERTOIRE/REPERTOIRE/mot-clef.htm
Mon site n'étant pas en php, je suis obligé d'utiliser un code du genre
Code:
<meta http-equiv="refresh" content="0; url=http://www.ndd.com/MOT-CLEF/mot-clef.htm" />
<title>Redirection</title>
<meta name="robots" content="noindex,follow" />

Pensez-vous :
- que je peux modifier mes url sans risques ?
- avez-vous une expérience avec ce genre de redirection concernant les robots ?
 
WRInaute passionné
Bonjour à toi aussi ... :roll: :wink:

Les "meta refresh" sont absolument à éviter, ça pue !

Choisir le type de redirection

La redirection 301 n'est pas du php, c'est de l'url rewriting. ça se passe dans la fichiers .htaccess. C'est la meilleure solution à mon avis. Mais dans certains cas, on ne peut pas le modifier (par exemple si tu utilises les pages perso d'Orange ... :( )
 
WRInaute passionné
nickargall a dit:
La redirection 301 par la fonction header() en php n'est pas du php ?
Si bien sur, j'aurais du dire plutôt pas toujours ... Ceci dit perso, je n'utilise pas cette fonction PHP, je préfère très nettement utiliser l'url rewriting ^^

Mais de toute façon, comme il ne peut pas utiliser php, c'est rapé ... :(

Dans son cas une redirection via .htaccess est plus adaptée vu que c'est pour passer de -http://www.ndd.com/REPERTOIRE/REPERTOIRE/mot-clef.htm à -http://www.ndd.com/MOT-CLEF/mot-clef.htm
 
WRInaute impliqué
Une redirection 301 ca consiste a envoyer dans l'entete http de la reponse à une requete serveur la nouvelle adresse que le navigateur doit appeler. Donc c'est pas du tout le même mécanisme que l'url rewriting :)
 
WRInaute passionné
mariea a dit:
Une redirection 301 ca consiste a envoyer dans l'entete http de la reponse à une requete serveur la nouvelle adresse que le navigateur doit appeler.
En PHP, oui : avec la fonction header().

mariea a dit:
Donc c'est pas du tout le même mécanisme que l'url rewriting
L'url rewriting sert en autre à faire des redirections de type 301.
 
WRInaute impliqué
ah bon ... ?
Je veux bien un exemple d'utilisation du module rewrite pour faire une redirection.

Pour moi l'ulr-rewriting consiste a substituer une adresse à une autre au niveau du serveur. En général, on decode par une expressions régulières une adresse html de façon a la transformer en url dynamqiue avec variables.
A ce niveau là, ce n'est pas une redirection..
 
WRInaute passionné
mariea a dit:
Pour moi l'ulr-rewriting consiste a substituer une adresse à une autre au niveau du serveur. En général, on decode par une expressions régulières une adresse html de façon a la transformer en url dynamqiue avec variables.
A ce niveau là, ce n'est pas une redirection..
gné ??? 8O ah bon ? Et au final, tu as quoi alors ?!?!

mariea a dit:
Je veux bien un exemple d'utilisation du module rewrite pour faire une redirection.

Choisir le type de redirection

et plus précisément le passage sur les redirection utilisant l'url rewriting

Autre exemple : le "très classique"

Code:
RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]
qui fait une redirection vers ton www

Quand la page est redirigée, ça s'appelle une redirection ... :roll:
 
WRInaute impliqué
Ne vous battez pas :D
Merci pour toutes vos réponses, vous m'avez donné de bonnes pistes, pourtant, après plusieurs heures d'acharnement, je reviens vers vous car je n'arrive à rien :( Pour clarifier mon problème, je vais vous donner un exemple de ce que je veux faire et de ce que j'ai fait, vous pourrez peut-être m'aider encore une fois:

Je veux rediriger cette page -http://www.stars-celebrites.com/bio/A/abba.htm vers celle-ci http://www.stars-celebrites.com/ABBA/bi ... e-abba.htm
j'ai écrit mon .htaccess ainsi
Code:
Redirect permanent /abba.htm http://www.stars-celebrites.com/ABBA/biographie-abba.htm
en essayant toutes les variantes (RedirectPermanent, avec ou sans /, etc.) rien à faire :( j'ai placé mon .htaccess dans le répertoire A ce qui me semble le plus logique, et c'est certainement là mon erreur, dans tous les cas je ne sais plus quoi faire, sauf m'en remettre à vos âmes charitables ... :D

Pour info, ce site est hébergé chez OVH
 
WRInaute impliqué
J'ai fini par trouver une solution qui fonctionne
Code:
RedirectMatch permanent /abba.htm http://www.stars-celebrites.com/ABBA/biographie-abba.htm
 
WRInaute passionné
Content pour toi que ça fonctionne :D

pounk a dit:
Ne vous battez pas :D
T'inquiète pas. C'est juste qu'il faut appeler un chat un chat. A partir du moment où la page est redirigée, ça s'appelle bien une redirection. De plus l'instruction employée veut bien dire ce qu'elle veut dire "Redirect permanent" :wink:
 
WRInaute impliqué
Pandore a dit:
T'inquiète pas. C'est juste qu'il faut appeler un chat un chat. A partir du moment où la page est redirigée, ça s'appelle bien une redirection. De plus l'instruction employée veut bien dire ce qu'elle veut dire "Redirect permanent" :wink:


On se bat pas , on discute et je suis pas d'accord ... ( mais je peux me tromper 8O )

Le mode rewrite permet 2 choses :
1 / la réécriture des URL
2 / la redirection 301. (j'avais oublié)

et amha une réécriture d'url n'a jamais été une redirection. ( ou alors "une redirection serveur" mais là on ne parle pas de redirection 301 ...)
 
WRInaute passionné
mariea a dit:
une réécriture d'url n'a jamais été une redirection.
arf ! bien que que si !

Puisque le le but de l'url rewriting est d'intercepter côté serveur l'adresse de la page demandée, d'en extraire éventuellement les paramètres si on l'utilise pour faire du rewrite de pages dynamiques (c'est à ça que ça sert le plus souvent d'ailleurs. Car avec plus de 2 variables pour les pages dynamiques, les pages ne sont plus archivées), et de renvoyer côté client la page correspondante. Le client, c'est toi, moi, Google et cie.

ça sert donc bien à l'indexation des pages et à faire des redirections. Puisqu'au final Google et cie ne vont pas indexer, si je reprends l'exemple donné par pounk, -http://www.ndd.com/REPERTOIRE/REPERTOIRE/mot-clef.htm mais bien -http://www.ndd.com/MOT-CLEF/mot-clef.htm

:wink:
 
WRInaute impliqué
Pandore a dit:
le but de l'url rewriting est d'intercepter côté serveur l'adresse de la page demandée, d'en extraire éventuellement les paramètres et de renvoyer côté client la page correspondante. Le client, c'est toi, moi, Google et cie.

jusque là je suis ok.

Le serveur répond à la requête mais il n'envoie pas une redirection au client. Il répond normalement avec un status 200 dans le cas de la réécriture d'url.
Et non 301 comme pour une redirection que doit suivre le navigateur en faisant une nouvelle requête. :idea: non ?
 
WRInaute impliqué
nickargall a dit:
on peut lui spécifier un code 301 dans la règle de réécriture.

oui, et alors le serveur envoie au client une reponse avec 301 dans l'entete et l'adresse à suivre ... ( et alors ce n'est pas de la réecriture d'url coté serveur pour extraire des variables mais de la redirection d'url)

Peut être que je fais erreur mais ce sont des détails importants ... :wink:
 
WRInaute passionné
mariea a dit:
et alors ce n'est pas de la réecriture d'url coté serveur pour extraire des variables mais de la redirection d'url
lol : ben oui, c'est exactement ce que l'on cherche à faire depuis le départ : rediriger de façon permanente (type 301) ! L'url rewriting ne sert pas seulement à créer de jolies adresses indéxables en masquant les variables PHP, ça sert aussi à réécrire des url. J'ai l'impression que c'est cet aspect que tu as du mal à accepter. Je me trompe ???
 
WRInaute impliqué
Pandore a dit:
mariea a dit:
L'url rewriting ne sert pas seulement à créer de jolies adresses indéxables en masquant les variables PHP, ça sert aussi à réécrire des url. J'ai l'impression que c'est cet aspect que tu as du mal à accepter. Je me trompe ???

Disons que je vois pas ca de la meme façon : Réécrire des adresses et rediriger des adresses même si ce sont 2 fonctionnalités du module REWRITE.

Dire "L'url rewriting sert en autre à faire des redirections de type 301"
me semble un abus de langage.

Réécrire une adresse est une opération interne à 1 serveur : par ex. le module Rewrite remplace l'adresse HTML par l'adresse PHP avec les variables url. Puis il envoie la page au parseur PHP.

La redirection 301 sert à renvoyer le navigateur sur une autre adresse qu'elle soit sur le m^me serveur ou sur un autre serveur.
 
WRInaute passionné
mariea a dit:
Dire "L'url rewriting sert en autre à faire des redirections de type 301"
me semble un abus de langage.
Je ne vois pas en quoi c'est un abus de langage, dire "ça sert en autre à faire quelque chose" veut bien dire ce que ça veut dire : ça sert à faire quelque chose mais ça ne fait pas que cette chose.

mariea a dit:
Réécrire une adresse est une opération interne à 1 serveur : par ex. le module Rewrite remplace l'adresse HTML par l'adresse PHP avec les variables url. Puis il envoie la page au parseur PHP.
Oui, je suis d'accord.

mariea a dit:
La redirection 301 sert à renvoyer le navigateur sur une autre adresse qu'elle soit sur le m^me serveur ou sur un autre serveur.
Je suis également d'accord mais en quoi c'est contradictoire avec la remarque précédente ??? Puisque le serveur réécrit l'adresse suivant une régle avant de la renvoyer ...
 
WRInaute impliqué
Effectivement on est d'accord :D

En fait c'est l'ajout du commutateur [R] ou [R=code] qui demande au serveur d'envoyer une redirection au client. Je ne voyais pas ca comme de l'url-rewriting. On dira que c'est du rewriting avec redirection !
 
WRInaute passionné
Oui, on peut voir ça comme ça : on réécrit l'url et si on veut spécifier également que c'est une redirection de type 301 par exemple, on ajoute en plus une règle de redirection :wink:
 
Discussions similaires
Haut