ホームページ > バックエンド開発 > PHPチュートリアル > 異なる URI プレフィックスを持つサブフォルダーの Nginx ロケーション ブロックを構成するにはどうすればよいですか?

異なる URI プレフィックスを持つサブフォルダーの Nginx ロケーション ブロックを構成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 13:35:13
オリジナル
592 人が閲覧しました

How to Configure Nginx Location Blocks for Subfolders with Different URI Prefixes?

サブフォルダーの 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート