0

特定のイベントが発生したときに、サード パーティのサービス (電子メール サービス プロバイダー) が POST データを含む http 要求を行う CodeIgniter で構築されたアプリケーションがあります。問題は、このサード パーティのサービスがリクエストを行っている URL を完全に変更できないことです。具体的には、w_4.php指定したドメインとディレクトリにある名前のファイルにリクエストを送信します。

この個別のファイルを CodeIgnitier スタックの外に置く代わりに、.htaccess を使用して、このファイルに対して行われたすべての要求を、私の codeigniter アプリケーション内のコントローラーに書き換えたいと思いますapi/my_controller/my_method。しかし、リクエスト内の POST データがそのまま必要なので、リダイレクトは使用できないと思います。

私は.htaccessで次のようなことを試しました:

RewriteCond $1 (w_4\.php)
RewriteRule ^(.*)$ index.php/api/my_controller/my_method

リクエストは codeigniter にルーティングされますが、コントローラー/ルートが存在するにもかかわらず、404 が返されます。

4

1 に答える 1

1

答えはP、RewriteRule でプロキシ フラグを使用することです。https://stackoverflow.com/a/359224/192694で詳しく説明されているように、フラグは、POST データを含め、リクエストをそのままプロキシ モジュールに渡す必要があることを示します。

詳細情報: http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_p

于 2013-03-28T19:12:12.880 に答える