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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?php
var_dump(headers_list());
exit();
?>
qui donne en localhost :
array(2) { [0]=> string(23) "X-Powered-By: PHP/5.2.0" [1]=> string(23) "Content-type: text/html" }
sur serveur prod :
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...
Avez vous une idée du pourquoi ?

Merci d'avance