ホームページ > バックエンド開発 > PHPチュートリアル > PHP で .htaccess を使用してリダイレクト中に POST データを保存する方法は?

PHP で .htaccess を使用してリダイレクト中に POST データを保存する方法は?

Linda Hamilton
リリース: 2024-11-29 22:18:12
オリジナル
801 人が閲覧しました

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

.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 データを含め、リクエストをそのまま処理します。

追加注:

  • GET リクエストは、POST リクエストと比較して送信できるデータ量が制限されています。
  • index.php にリダイレクトするための .htaccess ルールは次のとおりです。
# 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート