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]
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]
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 :
# serve files and dirs if they exist please, otherwise send to index RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . index.php
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!