nginx alias+location-Direktive
server {
listen 80;
server_name pwta;
root html;
location /test/{
alias html/test/;
autoindex on;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Diese Konfiguration funktioniert. Allerdings, wenn location /test/
ersetzt wird, z.B. location /testpath/
es funktioniert nicht (Keine Eingabedatei angegeben). Ich nahm an, auf der Basis der Erklärung von alias-Direktive, die "location" - Teil gefallen ist und somit /testpath/info.php
führen würde html/test/info.php
.
Vielen Dank für jede Anregung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
nginx alias
alias
effektiv überschreiben der$document_root
auf das, was ist der alias. Beachten Sie, dass Sie keinen Einfluss auf die$fastcgi_script_name
oder$request_filename
. Mit dem neuen$document_root
zusammen mit regex matching der name der Datei, löst die Skript-Datei./testpath/
.Sowohl die
alias
undroot
Richtlinien sind am besten mit absoluten Pfaden. Sie können relative Pfade verwenden, aber Sie sind relativ zurprefix
config-option verwendet, um nginx kompilieren, und sind in der Regel nicht, was Sie wollen.Können Sie sehen, indem du
nginx -V
zu finden und den Wert nach--prefix=
.Beweisen, sich selbst durch einen Blick auf das log finden Sie eine "keine solche Datei" error.
-V
nicht-v
(sollten Kapital -, Kleinschreibung gibt nur die Nummer der version)