Maison > développement back-end > tutoriel php > Comment conserver les données POST lors de la redirection en PHP avec .htaccess ?

Comment conserver les données POST lors de la redirection en PHP avec .htaccess ?

Linda Hamilton
Libérer: 2024-11-29 22:18:12
original
787 Les gens l'ont consulté

How to Preserve POST Data During Redirection in PHP with .htaccess?

Redirection des données POST en PHP avec .htaccess

Question :

Les données POST peuvent-elles être soumis à une fausse adresse qui redirige vers un index page ?

Scénario :

Un site Web utilise un fichier .htaccess pour rediriger toutes les requêtes vers index.php. Cependant, lors de l'utilisation d'un formulaire avec la méthode POST pour soumettre des données à une fausse adresse, les données POST sont perdues lors de la redirection.

Analyse :

Le .htaccess par défaut La règle utilisée dans ce scénario est la suivante :

RewriteRule send-mail index.php?send-mail [NC,L]
Copier après la connexion

Cette règle redirige correctement la requête vers index.php, mais l'indicateur [L] (dernier) arrête le traitement ultérieur. et supprime toutes les données POST.

Solution :

Pour conserver les données POST pendant la redirection, remplacez l'indicateur [L] par [P] (proxy) :

RewriteRule send-mail index.php?send-mail [NC,P]
Copier après la connexion

Explication :

Le drapeau [P] agit de la même manière que [L] en arrêtant le traitement des règles, mais il demande également au module proxy de traiter la requête intacte, y compris toutes les données POST.

Remarques supplémentaires :

  • Les requêtes GET sont limitées dans la quantité de données qu'elles peuvent transmettre par rapport aux requêtes POST.
  • La règle .htaccess pour la redirection vers index.php est :
# serve files and dirs if they exist please, otherwise send to index
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal