codeigniter ファイルを apache から nginx に移行し、nginx の書き換えを調べています。codeigniter index.php を削除するために、次の書き換えに出くわしました
if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}
書き換えは機能します。しかし、私はその部分をよく理解していません/index.php?/
。
アップデート :
のようにクエスチョンマークなしで書き直してみましたrewrite ^/(.*)$ /index.php/$1 last;
。通常のコントローラーでは機能しますが、 fb oauth などのサードパーティによって値がコントローラーにポストされると壊れます/controller?code=something
。
私の質問
1) この書き直しにおける疑問符の役割は何ですか? これはindex.phpをオプションにしますか?
2) また、get リクエストのように、codeigniter は疑問符付きの URL をルーティングしません。たとえば、このような取得リクエスト
http://example.com/controller?code=somecodehere
壊れてコントローラーを呼び出さずに、文字通り呼び出しようとしていますcontroller?code=somecodehere
。このルーティングはそれを処理しますが、方法がわかりません。
この書き換えに関する洞察は役に立ちます。
ありがとう。