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. stracesagt 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 locationDirektive /phpmyadminfiletatsächlich angefordert werden /home/phpmyadminfile. Warum die Konfiguration in der Frage nicht funktioniert, sieht für mich korrekt aus. Ich vermute, dass eine andere locationDirektive nicht angezeigt wird, die übereinstimmt, wenn sie nicht beabsichtigt ist. In diesem Fall schlagen die Nginx-Dokumente vor, stattdessenalias das locationPräfix zu verwenden . root /home;