サブフォルダーの Nginx ロケーション構成
Nginx サーバー構成では、URI パターンに基づいて特定のロケーションにリクエストをルーティングできます。この質問では、指定されたパス内のサブフォルダー、特に /static と /manage に異なる URI プレフィックスを使用してアクセスするように Nginx を構成する方法について説明します。
ルート URI (/) で /static フォルダーへのアクセスを構成するには、次のように定義します。 /static サブフォルダーにルートが設定された location ブロック:
location / { root /var/www/mysite/static; index index.html; }
Slim PHP フレームワークを含む /manage フォルダーの場合、ルート パスは、index.php ファイルが存在するパブリック サブフォルダーに設定する必要があります。 public サブフォルダーは場所であるため、ルートの代わりにエイリアス ディレクティブが使用されます:
location ^~ /manage { alias /var/www/mysite/manage/public; index index.php; }
さらに、PHP ファイルが /static フォルダーと /manage フォルダーの両方に存在する場合は、2 つの location ~ .php ブロックが必要です。 :
location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }
および
location ~ \.php$ { if (!-f $request_filename) { return 404; } fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }
^~ 修飾子により、 /manage のプレフィックスの場所は、正規表現の場所 ~ .php$.
よりも優先されます。以上が異なる URI プレフィックスを持つサブフォルダーの Nginx ロケーション ブロックを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。