| Auteur | |
|---|---|
| yannneo | # 18 Mar 2010 - 10:51:45 |
| 17 Posts |
Bonjour, Depuis quelques jours et malgré les multitudes recherches sur le net, je n'arrive pas à faire fonctionner la redirection d'une page web. Pour être sûr de ne pas avoir d'erreur dans mon code, j'ai créé un page php contenant simplement les lignes suivantes : Je précise qu'il n'y a pas d'espaces ou de code html avant ces lignes. Mais le résultat est une page vide... et les informations de l'en-tête http sont les suivantes : Date: Thu, 18 Mar 2010 09:47:04 GMT Server: Apache/2.2.14 (Win32) PHP/5.3.1 Content-Length: 0 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html 302 Found Est-ce un problème de configuration lié à apache ou php ? Ou autre chose qui m'aurait échappé ? Merci de votre aide ! Modifié par yannneo (19 Mar 2010 - 15:58) |
| Heyoan | # 18 Mar 2010 - 11:19:21 |
| Modérateur 8101 Posts |
Salut, si vraiment tu n'as aucune sortie html avant (typiquement un vilain caractère BOM) cela vient effectivement de la config d'Apache. |
| yannneo | # 18 Mar 2010 - 15:48:56 |
| 17 Posts |
Merci pour ta réponse. Mais penses-tu que l'urlwriting (seule fonction que j'ai activé dans le fichier config d'apache) ait une influence sur la fonction header ? Sinon que peut-on me conseiller pour remplacer cette fonction (notamment dans le fichier .htaccess) ? Ci-dessous un bout de mon code : Merci de ton aide. |
| Heyoan | # 18 Mar 2010 - 16:04:59 |
| Modérateur 8101 Posts |
yannneo a écrit :Non mais par contre je pense que : * avant de poser une nouvelle question ce serait bien de répondre à celle que j'ai posée plus haut : enregistres-tu tes pages en utf-8 avec BOM ? * à priori tu es en local (EasyPHP ?) et si je comprends bien tu as désactivé tous les modules Apache paramétrés par défaut pour ne mettre que rewrite_module ? Si oui pourquoi ? yannneo a écrit :Euh... rien compris : le code PHP en question ne peut pas être remplacé par de l'urlrewriting ! Par ailleurs ton code comporte (au moins) une énormité : suivi de Modifié par Heyoan (18 Mar 2010 - 16:06) |
| yannneo | # 18 Mar 2010 - 16:22:33 |
| 17 Posts |
J'utilise l'IDE Netbeans 6.8 pour coder mes lignes. Je confirme bien que mes fichiers sont enregistrés au format utf-8 mais par contre pas moyen de savoir (de moins à ma connaissance) si c'est avec ou sans BOM. Non je n'ai pas désactivé tous les modules, je n'ai activé en conséquence que le module suivant : LoadModule rewrite_module modules/mod_rewrite.so et modifiés les paramètres : AccessFileName ... et AllowOverride ... C'était juste pour avoir une adresse plus agréable à voir : exp : www.monsite.fr/index.php -> www.monsite.fr/ Concernant mon énormité : echo '<body ... >'; suivi de echo '<meta ... >'; étant débutant, je n'ai pas percuté l'aberration... Merci de ta patience Modifié par yannneo (18 Mar 2010 - 16:59) |
| Heyoan | # 18 Mar 2010 - 17:00:39 |
| Modérateur 8101 Posts |
yannneo a écrit :Du coup je ne vais pas pouvoir t'aider car je ne sais si ni où ça se paramètre. Par contre pour faire le test tu pourrais utiliser n'importe quel éditeur (genre Notepad si tu es sous windows) et faire un simple fichier test.php Si ça fonctionne c'est que c'est bien un problème de BOM ajouté par NetBeans.yannneo a écrit :Ce n'est pas un problème de PHP mais d'HTML : les éléments META doivent être placés dans le HEAD et pas dans le BODY (cf. le Squelettor pour partir d'une bonne structure). Du coup la redirection via header doit forcément être faite avant le DOCTYPE et tu ne peut pas afficher directement ton BODY à ce moment là. D'ailleurs c'est un peu vilain d'utiliser un alert JavaScript : voir un exemple dans ce post. Modifié par Heyoan (18 Mar 2010 - 17:03) |
| yannneo | # 19 Mar 2010 - 15:57:50 |
| 17 Posts |
Bonjour Heyoan, Pour ton information : Après plusieurs jours de recherches, j'ai enfin trouvé le problème : il s'agissait d'un bug de ma version de PHP Solution -> installation de la dernière version de PHP et la redirection avec la fonction header fonctionne parfaitement... Ce fut long et laborieux mais au final le problème a été résolu Merci encore pour ton aide |
| Heyoan | # 19 Mar 2010 - 16:10:47 |
| Modérateur 8101 Posts |
De rien ! Et bravo pour ta ténacité ! |