Rewriteurl : redirection fonctionne mais redirection transparente

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

alea7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Enregistré le: 14 Fév 2012

Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mar Fév 14, 2012 15:19

Bonjour à tous,

C'est mon premier post - et excusez-moi d'avance si le sujet a déjà été traité : j'ai cherché ici une réponse en vain.

Je cherche à faire quelque-chose de très simple, dont la solution est donné dans le tutoriel d'URL rewriting, ça a fonctionné, puis ça ne fonctionne maintenant que partiellement, je m'explique :

je souhaite que la page :
/forum/discussion-166-Musical-Advent-Calendar-Norwegian-Institute-of-Recorded-Sound.html

redirige sur :
/forum/discussion/discussionDetail.php?id=166

et j'ai le fichier .htaccess suivant :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^forum/discussion-([0-9]+)-(.*)\.html$ /forum/discussions/discussionDetail.php?id=$1 [L]


La redirection fonctionne : c'est à dire qu'en cliquant sur le lien /forum/discussion-166-Musical-Advent-Calendar-Norwegian-Institute-of-Recorded-Sound.html j'arrive bien sur la page /forum/discussions/discussionDetail.php?id=$1.

A ceci près que l'adresse affichée dans la barre d'url est /forum/discussions/discussionDetail.php?id=$1 et que je souhaiterais que pour le client, l'adresse reste bien /forum/discussion-166-Musical-Advent-Calendar-Norwegian-Institute-of-Recorded-Sound.html (redirection côté serveur).

Ca a pourtant marché, puis à la suite de je ne sais quelle modification, la redirection est désormais transparente pour l'utilisateur.

J'ai testé la redirection avec un outil de test qui m'indique une redirection 301.

Ai-je oublié quelque-chose ? Pour quelles raisons la redirection serait-elle nécessairement transparente pour l'utilisateur (drapeau oublié ? erreur de syntaxe ?)

Note : je suis chez 1&1 et le fichier .htaccess est bien pris en compte puisqu'une redirection est effectivement appliquée.

Merci d'avance pour votre lecture et vos réponses si vous en avez une !

alaincassis
WRInaute impliqué
WRInaute impliqué
 
Messages: 573
Enregistré le: 6 Aoû 2006

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mar Fév 14, 2012 17:30

Pas sur que le $ dans \.html$ /forum/ soit indispensable.
Pas sur non plus que le problème vienne de là, mais ça vaut le coup d'essayer sans :
Code: Tout sélectionner
RewriteRule ^forum/discussion-([0-9]+)-(.*)\.html /forum/discussions/discussionDetail.php?id=$1 [L]

alea7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Enregistré le: 14 Fév 2012

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 1:19

Merci pour cette réponse !

Effectivement, ça marche également sans le $ qui n'était pas indispensable, mais le problème reste le même, l'url affiché dans la barre d'adresse est : /forum/discussions/discussionDetail.php?id=$1, donc celui que je voudrais masquer.

J'ai bien vérifié (au cas-où !) : le lien sur lequel je clique est bien le lien "propre" : /forum/discussion-166-Musical-Advent-Calendar-Norwegian-Institute-of-Recorded-Sound.html

alaincassis
WRInaute impliqué
WRInaute impliqué
 
Messages: 573
Enregistré le: 6 Aoû 2006

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 11:27

Bizarre...
C'est pas une bête histoire de cache ou de cookies chez toi ?
T'as effacé les cookies de ton site dans ton browser ?
Ou bien l'hébergeur a-t-il changé sans le dire un paramètre php ?

alea7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Enregistré le: 14 Fév 2012

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 15:06

Oui c'est vrai, j'aurais pu y penser, mais non, avec un cache vidé et cookies effacés, le problème est le même.

Je suis allé faire un tour sur les rubriques d'aide de 1&1, c'est drôle, leur section "aide" est inaccessible et affiche une erreur 500, décidément !

En attendant, ben je fais avec ma redirection 301 et mes jolis liens qui servent pas à grand-chose puisque salement redirigés !

Merci en tout cas de ton aide, et si jamais une autre idée te vient...

alea7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Enregistré le: 14 Fév 2012

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 15:29

En fait, c'est un peu comme si le drapeau [F] n'était pas pris en compte...
J'ai finalement pu accéder aux rubriques d'aides 1&1 sur les .htaccess :
Il est question du [F] qui si j'ai bien compris force la redirection à afficher que la page n'est pas autorisée, donc ça ne fait évidemment pas le job, en tout cas le drapeau est bien pris en compte, et d'autres drapeaux dont j'ignore la fonction précise mais qui ne semblent pas correspondre...

Et si c'est un paramètre php, je peux le voir dans le phpinfo() ? J'ai vu une ligne url_rewriter.tags mais qui ne me renseigne pas tellement...

alaincassis
WRInaute impliqué
WRInaute impliqué
 
Messages: 573
Enregistré le: 6 Aoû 2006

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 15:40

Un dernier truc : essaie de mettre les URL en absolu dans la partie droite :
Code: Tout sélectionner
RewriteRule ^forum/discussion-([0-9]+)-(.*)\.html$ http://www.tonsite.tld/forum/discussions/discussionDetail.php?id=$1 [L]


Il me semble me souvenir qu'il faut ça chez certains hebergeurs ( mes sites chez 1&1 n'ont pas ca...) .

Mais essaie quand même

alea7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Enregistré le: 14 Fév 2012

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 16:34

Non plus, je suis allé faire un tour sur les headers avec l'outil de WRI, et j'ai le message suivant :

"Redirection multiple incorrecte (il n'y a pas que des 301) "

C'est à dire, j'ai successivement
Code: Tout sélectionner
HTTP/1.1 302 Found

Code: Tout sélectionner
HTTP/1.1 301 Moved Permanently

Code: Tout sélectionner
HTTP/1.1 200 OK


Pour une même requête.

Ca fait pas un peu trop ?

----
Edit
----
j'ai effacé le fichier .htaccess et l'ai réécrit (des fois que des caractères cachés trainent par là), exactement de la même manière. J'ai désormais un
Code: Tout sélectionner
HTTP/1.1 301 Moved Permanently

Code: Tout sélectionner
HTTP/1.1 200 OK

alaincassis
WRInaute impliqué
WRInaute impliqué
 
Messages: 573
Enregistré le: 6 Aoû 2006

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 17:24

Tu as 2 lignes successives dans l'entete http ?

Une :
HTTP/1.1 200 OK
et une autre dessous avec
HTTP/1.1 301 Moved Permanently ?

Si c'est ca il fait peut-être plus de 2 lignes ton htaccess, ou bien un 2e htaccess existe, dans un dossier au-dessus ou au-dessous ?
Mes sites rewrités donnent tous un code 200 quand je teste un url rewrité.

Et essaie aussi de faire l'inverse pour les chemins (virer /forum/) :
Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^discussion-([0-9]+)-(.*)\.html /discussions/discussionDetail.php?id=$1 [L]

alea7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Enregistré le: 14 Fév 2012

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 18:48

alaincassis a écrit:Et essaie aussi de faire l'inverse pour les chemins (virer /forum/) :
CODE: TOUT SÉLECTIONNER
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^discussion-([0-9]+)-(.*)\.html /discussions/discussionDetail.php?id=$1 [L]


Pas de succès.

J'ai testé en local (avec MAMP), et le même .htaccess : ça marche, l'URL n'est pas réécrite mais c'est bien la page définie dans le htaccess qui est affichée.

J'en conclus donc qu'il doit s'agir de paramètres du serveur propres à 1&1 (il faut croire)...

alaincassis
WRInaute impliqué
WRInaute impliqué
 
Messages: 573
Enregistré le: 6 Aoû 2006

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Mer Fév 15, 2012 19:07

J'avais vu sur un forum (ici ?) le même genre de problème. Mettre des chemins relatifs et pas absolus -ou l'inverse- dans le htaccess pour certains hebergeurs, avait résolu le problème.
Donc faut tout essayer de ce coté !
Pourtant j'ai quelques sites chez 1&1, et les htaccess sont comme le tien, et ils fonctionnent.
Peurt-être tout simplement un coup de fil à leur hot-line, ils répondent vite, résoudrait ton souci, puisque ton htaccess fonctionne !

alea7
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Enregistré le: 14 Fév 2012

Re: Rewriteurl : redirection fonctionne mais redirection transparente

Message le Jeu Fév 16, 2012 16:04

:roll:
Eh bien voilà, la réponse a été trouvée (non pas par la hotline qui n'a pas su me renseigner) tout à fait par hasard, mais à force de recopier méthodiquement ce .htaccess, ça allait finir par venir :

je me suis trompé dans l'orthographe de mon lien (partie droite de la rewriteRule) :
/forum/discussions/discussionDetail.php?id=$1 [L]
au lieu de
/forum/discussion/discussionDetail.php?id=$1 [L]

Et au lieu d'afficher une erreur 404, la redirection était forcée sur la bonne URL (1&1 active par défaut la correction d'url, qui se désactive au passage via le .htaccess en ajoutant une ligne CheckSpelling off).

C'est par contre un comportement étrange : puisque la correction est activée et que la redirection se faisait bien, je ne m'explique pas pourquoi la redirection ne se faisait pas côté serveur (enfin je le devine, tout de même).

Merci beaucoup en tout cas de t'être penché sur mon cas, et pour tes réponses !


Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... 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 :