Discussion:
redirection apr header("Location:/chamin/"): nom de domaine obligatoire ?
(trop ancien pour répondre)
Jean-Francois Ortolo
2008-05-27 05:31:30 UTC
Permalink
Bonjour

Avec une instruction de redirection du type:

header("Cache-control: no-cache");
header"Location: /chemin_absolu/fichier.php");

Est-il obligatoire de spécifier le nom de domaine avant le chemin
absolu du script PHP redirigé ?

J'avais cru comprendre que cela n'était pas nécessaire, mais j'ai eu
des bugs quand mon nom de domaine provenait d'un fichier de config,
alors j'ai largué les noms de domaine ( C'est celui de mon site ).

J'avais cru à une modificatio de mon fichier de config...
Probablement faux, mais on n'est jamais trop prudent.

Merci beaucoup de vos réponses.

Bien à vous.

Amicalement.

Jean-François Ortolo
Olivier Miakinen
2008-05-27 05:45:53 UTC
Permalink
Bonjour,
Post by Jean-Francois Ortolo
header("Cache-control: no-cache");
header"Location: /chemin_absolu/fichier.php");
Est-il obligatoire de spécifier le nom de domaine avant le chemin
absolu du script PHP redirigé ?
Oui. Une URI absolue commence par le nom de « scheme ».

<cit. http://www.faqs.org/rfcs/rfc2396.html>
3. URI Syntactic Components
absoluteURI = scheme ":" ( hier_part | opaque_part )
</cit.>

Et, comme tu le signales fort justement, c'est bien une URI absolue
qu'il faut pour un header "Location".

<cit. http://www.faqs.org/rfcs/rfc2616.html>
14.30 Location
Location = "Location" ":" absoluteURI
</cit.>

Cordialement,
--
Olivier Miakinen
Jean-Francois Ortolo
2008-05-27 13:43:06 UTC
Permalink
Post by Olivier Miakinen
Bonjour,
Oui. Une URI absolue commence par le nom de « scheme ».
<cit. http://www.faqs.org/rfcs/rfc2396.html>
3. URI Syntactic Components
absoluteURI = scheme ":" ( hier_part | opaque_part )
</cit.>
Et, comme tu le signales fort justement, c'est bien une URI absolue
qu'il faut pour un header "Location".
<cit. http://www.faqs.org/rfcs/rfc2616.html>
14.30 Location
Location = "Location" ":" absoluteURI
</cit.>
Cordialement,
Bonjour Monsieur

Merci beaucoup de votre réponse.

Effectivement ( j'aurais du commencer par là ), le PHP Manual indique
que l'url paramètre à "Location:" doit être une URI, donc comportant le
nom de domaine.

Mais, comment s'expliquer qu'avec le même client ( commande curl du
même site distant ), on obtienne parfois des redirections, parfois non ?

En tout cas, j'ai corrigé les header concernés de mon site, en
attendant de corriger tous les header de mon site.

Merci beaucoup.

Bien à vous.

Amicalement.

Jean-Francois Ortolo
Olivier Miakinen
2008-05-27 14:27:52 UTC
Permalink
Bonjour,
Post by Jean-Francois Ortolo
Mais, comment s'expliquer qu'avec le même client ( commande curl du
même site distant ), on obtienne parfois des redirections, parfois non ?
Je ne l'explique pas. Les navigateurs en général arrivent à s'en sortir
avec une URI relative bien que ce ne soit pas prévu par la norme. Pour
cela, il faut bien sûr qu'ils aient conservé l'URL de la requête au
moment où la réponse arrive ; quant à Curl je ne sais pas comment il
fonctionne en interne.

Continuer la lecture sur narkive:
Loading...