Olivier Miakinen a écrit :
(snip)
> En quelques mots, le header("Location: ...") ne devrais jamais servir à
> rien d'autre qu'à rediriger d'un site vers un autres, et pas entre deux
> pages du même site.
Chapitre et verset, s'il te plait ?
Moi, ce que je vois dans la rcf, c'est:
14.30 Location
The Location response-header field is used to redirect the recipient
to a location other than the Request-URI for completion of the
request or identification of a new resource. For 201 (Created)
responses, the Location is that of the new resource which was created
by the request. For 3xx responses, the location SHOULD indicate the
server's preferred URI for automatic redirection to the resource. The
field value consists of a single absolute URI.
Location = "Location" ":" absoluteURI
Qui ne dit en rien que l'URI doivent appartenir à un autre domaine - au
contraire, cf la partie sur le code 201, ainsi que cet autre extrait:
9.5 POST
(...)
If a resource has been created on the origin server, the response
SHOULD be 201 (Created) and contain an entity which describes the
status of the request and refers to the new resource, and a Location
header (see section 14.30).
qui pour ce que j'en comprend implique au contraire qu'il est non
seulement autorisé mais dans certaines circonstances *recommandé*
d'utiliser un header Location avec une URI pointant sur le même domaine.
nb :
http://www.faqs.org/rfcs/rfc2616
>D'ailleurs il devrait toujours y avoir une URL
> absolue (du genre http://www.example.com/test.html) et jamais une URL
> relative (telle que test.html).
Là par contre on est d'accord. C'est d'ailleurs documenté dans la doc PHP.
http://fr.php.net/manual/en/function.header.php