サブフォルダーの Nginx ロケーション構成
この記事では、2 つのサブフォルダー (1 つは次の場所) からコンテンツを提供するように Nginx を構成する方法について説明します。ルート パスと特定の URL のもう 1 つのパス。
次のディレクトリについて考えてみましょう。構造:
/var/www/myside/ ├── static ├── manage
私たちの目標は、/static フォルダーにルート URL (例: http://example.org/) でアクセスできるようにし、/manage フォルダーに /manage (例: http) でアクセスできるようにすることです。 ://example.org/manage)。この場合、/manage フォルダーには Slim の PHP フレームワーク コードが含まれており、実際の PHP ファイルは /var/www/mysite/manage/public/index.php.
Nginx Configuration にあります。
これを実現するには、Nginx の location ディレクティブを使用できます。可能な構成は次のとおりです:
server { listen 80; server_name example.org; error_log /usr/local/etc/nginx/logs/mysite/error.log; access_log /usr/local/etc/nginx/logs/mysite/access.log; root /var/www/mysite; location / { root /var/www/mysite/static; index index.html; } location /manage { alias /var/www/mysite/manage/public; index index.php; if (!-e $request_filename) { rewrite ^ /manage/index.php last; } 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; } } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; } }
説明
構成を詳しく見てみましょう:
エイリアスとルートの使用法
を使用する場合エイリアスとして、Nginx は元の URI を維持しながら、指定されたディレクトリからファイルを提供します。 /manage URI が /var/www/mysite/manage/public ディレクトリを指すようにしたいので、これは目的にとって便利です。
対照的に、root は location ブロックのルート ディレクトリを変更します。これは、異なる場所から異なるサブフォルダーを提供するシナリオには適していません。
の書き換えルールIndex.php
書き換えルールにより、/manage フォルダー内に存在しないファイルに対するリクエストは確実にindex.php にリダイレクトされます。これにより、Slim の PHP アプリケーションがリクエストを処理できるようになります。
PHP ファイル処理
PHP ファイル処理用の両方のロケーション ブロックには、FastCGI などの PHP スクリプトを実行するために必要な設定が含まれています。設定と変数。 fastcgi_pass ディレクティブは、PHP リクエストを PHP FastCGI サーバーに送信します。
最後の注意事項
PHP FastCGI サーバーが実行中であり、適切に構成されていることを必ず確認してください。この設定により、/static サブフォルダーと /manage サブフォルダーの両方からコンテンツを正しく提供できるようになります。
以上が異なるルートパスを持つ 2 つのサブフォルダーからコンテンツを提供するように Nginx を構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。