[Système] header déjà envoyé par défaut
Bonjour,
je viens de m'apercevoir que ma redirection permanente fonctionne différement selon le serveur.
Le code ci-dessous fonctionne sous apache2 / PHP5.2.3 (serveur de prod) mais pas sous WAMP 1.7 :
Code:
1 2 3 4 5
| <?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: /dossier/index.php");
exit();
?> |
sous WAMP, erreur classique mais incompréhensible :
Citation:
Warning: Cannot modify header information - headers already sent by (output started at M:\www\xxxxxxx.com\index.php:1) in M:\www\xxxxxxx\index.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at M:\www\xxxxxxx.com\index.php:1) in M:\www\xxxxxxx\index.php on line 4
En pour débugger, je mets :
Code:
1 2 3 4
| <?php
var_dump(headers_list());
exit();
?> |
qui donne en localhost :
Citation:
array(2) { [0]=> string(23) "X-Powered-By: PHP/5.2.0" [1]=> string(23) "Content-type: text/html" }
sur serveur prod :
Citation:
array(1) { [0]=> string(23) "X-Powered-By: PHP/5.2.3" }
Donc apparemment, c'est Content-type: text/html qui bloque l'header().
J'ai cherché une différence dans les config httpd.conf ou php.ini mais rien... :roll:
Avez vous une idée du pourquoi ?
Merci d'avance ;)