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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-29 22:18:12788ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。