多くのPHPフレームワークは、nginxのにこれを追加することをお勧め:
location/{
try_files $uri /index.php$is_args$args;
}
すべてのHTTPリクエストにindex.php
を実行します。
なぜ$is_args$args
が必要ですか?私は$args
がすでにHTTP GETリクエストに入っていると思います。では、なぜnginxはindex.phpにそれらを渡す必要がありますか?
多くのPHPフレームワークは、nginxのにこれを追加することをお勧め:
location/{
try_files $uri /index.php$is_args$args;
}
すべてのHTTPリクエストにindex.php
を実行します。
なぜ$is_args$args
が必要ですか?私は$args
がすでにHTTP GETリクエストに入っていると思います。では、なぜnginxはindex.phpにそれらを渡す必要がありますか?
誰が書いたかによって異なります。index.php
多数のパラメータがnginx
からPHPに送信され、通常はQUERY_STRINGとREQUEST_URIがその中に含まれます。
$_SERVER["QUERY_STRING"]
にアクセスすると、/index.php
の末尾に追加されたものがtry_files
文で受信されます。
プログラマは$_SERVER["REQUEST_URI"]
彼らは元のクエリ文字列と一緒にオリジナルのURIを受け取り、try_files
文で/index.php
の最後に追加何かがそれに影響を与えないだろうにアクセスする場合。
/index.php
に$is_args$args
を追加していないので、私がホストしている2つのアプリケーション(WordPressとMediaWiki)は明らかに後者を使用しています。
ただし、別のアプリケーションの動作が異なる場合があります。