Próbuję skonfigurować alias, więc gdy ktoś uzyska dostęp /phpmyadmin/, nginx pobierze go /home/phpmyadmin/raczej niż ze zwykłego katalogu głównego dokumentu. Jednak za każdym razem, gdy ściągam URL, daje mi 404 na wszystkie przedmioty, które nie zostały przeciągnięte przez fastcgi. fastcgi wydaje się działać dobrze, podczas gdy reszta nie. stracemówi mi, że próbuje wyciągnąć wszystko inne ze zwykłego katalogu głównego dokumentu, ale nie mogę zrozumieć, dlaczego. Czy ktoś może zapewnić wgląd?
Oto odpowiednia część mojej konfiguracji:
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/;
}
/w aliasu oraz z locationdyrektywy, żądając /phpmyadminfilerzeczywiście cię /home/phpmyadminfile. Jeśli chodzi o to, dlaczego konfiguracja w pytaniu nie działa, wydaje mi się, że jest poprawna, więc podejrzewam, że locationnie pokazano innej dyrektywy, która pasuje, gdy nie jest zamierzona. W takim przypadku, jako aliaskończące się locationprefiksem, dokumenty nginx sugerują użycie root /home;zamiast tego .