2017-07-31 8 views
1

私は.htaccessファイルをサブフォルダ(www.domain.com/API/)に持っています。このサブフォルダのすべてのPOSTリクエストをサブフォルダ内のファイルにリダイレクトする必要がありますwww.domain.com/API/Sub/manager.php).htaccessデータを含むすべてのPOSTリクエストをファイルにリダイレクト

すべてのPOSTリクエストにはデータ(2〜10個のパラメータ)があり、すべてのデータが最もリダイレクトされると言わなければなりません。

私はいくつかの投稿とページを読んでいますが、私の状況を解決することはできません。 >文書が移動した(リンクww.domain.com/API/ へ -

302見つかり:

私は、このルールがあります。しかし

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ https://www.example.net/API/Sub/manager.php [QSA,L] 

を、私のような何かを得ましたSub/manager.php)

私が間違っていることを誰かに教えてもらえますか?

ありがとうございます。

P.S.あなたは間違ったステータスコードを使用している

Redirect POST htaccess

Seems like POST values are lost when .htaccess RewriteRule used. GET values are OK. How to fix?

.htaccess redirect all sub-directories to file

+0

ありがとう@thickguru私はこれでかなり新しいです。 –

答えて

0

: これらは私がに見えたいくつかのページです。簡単に言えば、302コードは、ブラウザがすべてのデータを再送することを要求していません(POST要求)。代わりに307コードを使用する必要があります。 、Apacheの下にこれを行う

で終了するために、その最後のルールを更新するには

[QSA、L、R = 307]

あなたはPOSTデータでだけ興味を持っている場合は、 QSAフラグは必要ありません。

詳細については、HTTPステータスコードの一覧とその意味hereを参照してください。 (強調鉱山)を以下のように302のコードが邪魔に機能していない理由は、あなたはそれが明示的にプロトコルページ上に呼び出されたい

注:RFC 1945およびRFC 2068には、クライアントが を許可されていないことを指定しますリダイレクトされた要求のメソッドを変更します。しかしながら、多くの場合、 既存のユーザエージェント実装は、30330 の応答であるかのように302を扱い、元の要求方法の に関係なく、位置フィールド値でGETを実行する。。ステータスコード303と307は、 種類の反応がクライアントに期待されることを明白に明示したいサーバーに対して、 が追加されています。

+0

回答をお寄せいただきありがとうございます。私はあなたのコードを実装しましたが、何の応答も得られないことを知っています。 –

+0

"文書はここに移動しました" 他の提案はありますか? –

+0

申し訳ありませんが、私のファイルに問題がありました。 307は私が探していたものでした。ありがとう –

関連する問題