Aller au contenu

Rewriting en PHP et PHP5 : problème de recuperation des variables POST


julien51

Sujets conseillés

Bnjour,

Je suis en train de migrer mon serveur vers PHP5. Je suis en ce moment en train de tester mes scripts et j'ai un gros problème.

Pour mon site, j'utilise un Handler qui redirige toute requete d'un fichier php sur mon serveur vers un fichier "prefetch.php" dans lequel j'effectue des traitements dont l'URL en fonction de la page appelée... etc. Je reupere aussi les varibles des formulaires communs à toutes les pages du site dans ce fichier "prefetch.php".

Avec PHP5, il semblerait qu'Apache détourne les requtes vers ma page 404 avant d'avoir atteint mon handler. Je perds donc le contenu de mes variables POST et GET avant d'arriver dans mon fichier prefetch.php.

Avec PHP4, je n'avais pas ce problème.

Est-ce du au fait que PHP5 execute les directives dans un ordre different? : ErrorDocument avant AddHandler?

Quelqu'un à une idée pour que le serveur Apache ne vérifie pas si la page existe avant?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Ton Handler, ne serait-il pas justement le gestionnaire des document d'erreur (soit ton serveur HTTP). Le rewriting en PHP est fait en principe, on exploite le fait qu'un fichier n'étant pas trouvé par Apache (ou autre) mène le visiteur vers une page d'erreur définie par tes soins avec un .htaccess et la directive ErrorDocument... Et cette page d'erreur (en PHP) s'occupe du traitement du rewriting.

Maintenant sans plus de détails sur ton Handler, il me parait difficile de trouver une solution à ton problème... mais à première vu le problème se situerait plutôt au niveau de ton serveur HTTP plutôt qu'au niveau de PHP... PHP (quelque version que ce soit) ne s'occupe pas de rediriger ou d'envoyer de réponse HTTP (Status, ...) sans qu'on le lui demande... alors qu'un serveur HTTP, c'est ton travail, s'il ne trouve pas une ressource il va envoyer un message d'erreur.

En bref, montre nous un peu de code (PHP, .htaccess, ... tout ce qui fait partie de ta chaîne de réécriture) ne utilisant les balises BB Codes appropriés pour mettre en forme ton message (CODE pour petit morceau de code, CODEBOX pour les gros morceaux ;)).

P.S. : Précise également les versions exactement des composants utilisés (Apache, PHP)... tu peux les trouver avec la fonction phpinfo(). Et également où sonts hébergées tes pages (nom de l'hébergeur).

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...