par
Hubert Roksor » 26 mars 2007, 21:16
Je vois plusieurs erreurs. Premièrement, je ne me rappelle pas qu'un en-tête "Status" existe dans
HTTP. Ce que tu voulais faire était sûrement
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found', true, 404);
Ensuite, si tu utilises l'en-tête "Location" il est relativement logique de lui associer une
réponse en 3xx comme
302 Found ou
303 See Other. Une redirection signifie que la page a été déplacée ou qu'une autre page peut lui être substituer, et j'imagine que PHP ou Apache le "corrige" pour toi.
Pour résumer, si tu veux rediriger automatiquement l'utilisateur alors 404 n'est pas une réponse appropriée. Il est important de noter que le code dérive de l'action, pas l'inverse. C'est d'après l'action que tu entreprends (rediriger, afficher un message d'erreur, etc...) que tu choisis le code qui correspond.
Je vois plusieurs erreurs. Premièrement, je ne me rappelle pas qu'un en-tête "Status" existe dans [url=http://www.w3.org/Protocols/rfc2616/rfc2616.html]HTTP[/url]. Ce que tu voulais faire était sûrement
[php]header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found', true, 404);[/php]
Ensuite, si tu utilises l'en-tête "Location" il est relativement logique de lui associer une [url=http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3]réponse en 3xx[/url] comme [b]302 Found[/b] ou [b]303 See Other[/b]. Une redirection signifie que la page a été déplacée ou qu'une autre page peut lui être substituer, et j'imagine que PHP ou Apache le "corrige" pour toi.
Pour résumer, si tu veux rediriger automatiquement l'utilisateur alors 404 n'est pas une réponse appropriée. Il est important de noter que le code dérive de l'action, pas l'inverse. C'est d'après l'action que tu entreprends (rediriger, afficher un message d'erreur, etc...) que tu choisis le code qui correspond.