redirection apr header("Location:/chamin/"): nom de domaine obligatoire ?

Le
Jean-Francois Ortolo
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #6714261
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é ?


Oui. Une URI absolue commence par le nom de « scheme ».

3. URI Syntactic Components
absoluteURI = scheme ":" ( hier_part | opaque_part )

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

14.30 Location
Location = "Location" ":" absoluteURI

Cordialement,
--
Olivier Miakinen

Jean-Francois Ortolo
Le #6717131
Bonjour,

Oui. Une URI absolue commence par le nom de « scheme ».

3. URI Syntactic Components
absoluteURI = scheme ":" ( hier_part | opaque_part )

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

14.30 Location
Location = "Location" ":" absoluteURI

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
Le #6717591
Bonjour,


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.

Publicité
Poster une réponse
Anonyme