Nginx-Standortkonfiguration für Unterordner
Die Nginx-Serverkonfiguration ermöglicht die Weiterleitung von Anfragen an bestimmte Standorte basierend auf URI-Mustern. In dieser Frage wird untersucht, wie Nginx für den Zugriff auf Unterordner innerhalb eines angegebenen Pfads, insbesondere /static und /manage, mit unterschiedlichen URI-Präfixen konfiguriert wird.
Um den Zugriff auf den Ordner /static am Stamm-URI (/) zu konfigurieren, definieren Sie ein Standortblock, dessen Stammverzeichnis auf den Unterordner /static festgelegt ist:
location / { root /var/www/mysite/static; index index.html; }
Für den Ordner /manage, der ein Slim PHP-Framework enthält, muss der Stammpfad auf festgelegt werden öffentlicher Unterordner, in dem sich die Datei index.php befindet. Da der öffentliche Unterordner ein Speicherort ist, wird anstelle von root eine Alias-Direktive verwendet:
location ^~ /manage { alias /var/www/mysite/manage/public; index index.php; }
Außerdem sind zwei location ~ .php-Blöcke erforderlich, wenn PHP-Dateien sowohl im /static- als auch im /manage-Ordner vorhanden sind :
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; }
und
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; }
Der Modifikator ^~ stellt sicher, dass der Präfixspeicherort für /manage übernommen wird Vorrang vor der Position des regulären Ausdrucks ~ .php$.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich Nginx-Standortblöcke für Unterordner mit unterschiedlichen URI-Präfixen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!