NginxでURLパスを静的ファイルにマッピングする設定を行っています。

http://www.test.com/foo/ とアクセスしたら、実際は、
http://www.test.com/foo.php が実行されるイメージです。

設定としては、locaion{index..} という方式で行っています。
上記の例だと以下のような設定をしてます。

location /foo {
   index foo.php
}

意図しない動作

仕様ではindexディレクティブは、指定されたファイルへ内部リダイレクションされるとあります。しかし、実際は外部リダイレクション(301 Moved Permanently)され、ブラウザに戻ってきてから、再度、サーバに要求を飛ばす動作になってしまっています。

そのため、POSTで要求を投げた場合、indexディレクティブにより、外部リダイレクションされ、それを受けたブラウザは、GETでリダイレクト(ほとんどのブラウザの仕様)するため、サーバはGETでしか認識できないのと、その際、POSTのパラメータが欠落してしまいます。

やりたいこと

http://www.test.com/foo/ にアクセスし、 http://www.test.com/foo.php と実行させたい。
実現できれば、location{index} 形式でなくてもよい。
とにかくブラウザに301(302, 303, 307)でリダイレクトされるのをやめたい。