ホームページ >バックエンド開発 >PHPチュートリアル >PHP で .htaccess を使用してリダイレクト中に POST データを保存する方法は?
.htaccess を使用した PHP での POST データのリダイレクト
質問:
POST データはインデックスにリダイレクトする偽のアドレスに送信されるpage?
シナリオ:
Web サイトは .htaccess ファイルを使用して、すべてのリクエストをindex.php にリダイレクトします。ただし、POST メソッドを含むフォームを使用して偽のアドレスにデータを送信すると、リダイレクト中に POST データが失われます。
分析:
デフォルトの .htaccessこのシナリオで使用されるルールは次のとおりです:
RewriteRule send-mail index.php?send-mail [NC,L]
このルールはリクエストをindex.phpに正しくリダイレクトしますが、 [L] (最後の) フラグは、以降の処理を停止し、POST データを破棄します。
解決策:
リダイレクト中に POST データを保持するには、[L] フラグを次のように変更します。 [P] (プロキシ):
RewriteRule send-mail index.php?send-mail [NC,P]
説明:
[P] フラグはルール処理を停止することで [L] と同様に機能しますが、プロキシ モジュールにも指示します。 POST データを含め、リクエストをそのまま処理します。
追加注:
# serve files and dirs if they exist please, otherwise send to index RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . index.php
以上がPHP で .htaccess を使用してリダイレクト中に POST データを保存する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。