Ich versuche, einen Alias einzurichten. Wenn jemand darauf zugreift /phpmyadmin/
, wird er von nginx /home/phpmyadmin/
nicht aus dem üblichen Dokumentenstamm, sondern von nginx abgerufen. Jedes Mal, wenn ich die URL aufrufe, erhalte ich eine 404 für alle Elemente, die nicht über fastcgi abgerufen wurden. fastcgi scheint gut zu funktionieren, der Rest nicht. strace
sagt mir, dass es versucht, alles andere aus dem üblichen Dokumentenstamm zu ziehen, aber ich kann nicht herausfinden, warum. Kann jemand einen Einblick geben?
Hier ist der relevante Teil meiner Konfiguration:
location ~ ^/phpmyadmin/(.+\.php)$
{
include fcgi.conf;
fastcgi_index index.php;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME /home$fastcgi_script_name;
}
location /phpmyadmin
{
alias /home/phpmyadmin/;
}
/
im Alias und in der location
Direktive /phpmyadminfile
tatsächlich angefordert werden /home/phpmyadminfile
. Warum die Konfiguration in der Frage nicht funktioniert, sieht für mich korrekt aus. Ich vermute, dass eine andere location
Direktive nicht angezeigt wird, die übereinstimmt, wenn sie nicht beabsichtigt ist. In diesem Fall schlagen die Nginx-Dokumente vor, stattdessenalias
das location
Präfix zu verwenden . root /home;