に私は(主にPHPアプリケーション用)のserveral要旨と設定例でnginxのコンフィグスニペットを発見された最初のtry_filesをい指令はこれまでに一致しますか?私にはこれはナンセンスのハッキングのように見えます。ダブルtry_filesディレクティブは、nginxの
確認してくださいか、なぜない説明 - 感謝:)
に私は(主にPHPアプリケーション用)のserveral要旨と設定例でnginxのコンフィグスニペットを発見された最初のtry_filesをい指令はこれまでに一致しますか?私にはこれはナンセンスのハッキングのように見えます。ダブルtry_filesディレクティブは、nginxの
確認してくださいか、なぜない説明 - 感謝:)
は、これは、ここで何が起こるかです:
要求でパスが、例えば、/
あるときに最初の場所= /
のみが使用されていますhttp://example.com/
。第2の場所/
は、他のすべてのURLに使用されます。 http://example.com/foo
またはhttp://example.com/bar
。
最初の場所の理由は、index
ディレクティブ(index.htmlなどのリダイレクト先)からの干渉を避けるためです。
try_files
- ディレクティブは、最初に@site
という名前のファイルを探します。存在しないファイルは、名前付きの場所@site
にリダイレクトされます。この構造の理由は、指定された場所へのリダイレクトは純粋に内部的なものであるため、@site
の場所にはクライアントから直接アクセスできず、$uri
はこのリダイレクト時に変更されずに保持されます(他のリダイレクトではそうではありません)。最初のパラメータ@site
は、実際の既存のファイル以外は何でもかまいません。わかりやすくそれをDUMMY
と呼ぶことを好みます。
第2の場所は静的ファイルを最初に試します。見つからなければ、指定された場所にリダイレクトされます。
無条件で@siteにジャンプするハックです。個人的には、私は 'error_page'変種が好きです。 [この回答](http://stackoverflow.com/questions/20288537/nginx-try-files-proxy-and-named-location-with-404-fallback#20694873)を参照してください。 –