Я намагаюся налаштувати псевдонім, тому коли хтось має доступ /phpmyadmin/, nginx буде витягувати його, /home/phpmyadmin/а не зі звичайного кореня документа. Однак щоразу, коли я піднімаю URL-адресу, вона дає 404 для всіх предметів, які не проходять через fastcgi. fastcgi, здається, працює нормально, тоді як решта - ні. straceговорить мені, що намагається витягнути все інше зі звичного кореня документа, але я не можу зрозуміти, чому. Чи може хтось надати деяке розуміння?
Ось відповідна частина мого конфігурації:
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/;
}
/в псевдонім і в locationдирективі, запитувач /phpmyadminfileбуде реально отримати вас /home/phpmyadminfile. Що стосується того, чому конфігурація у питанні не працює, мені це видається правильним, тому я підозрюю, що locationне показана інша директива, яка відповідає, коли вона не призначена. У цьому випадку, як aliasзакінчується locationпрефіксом, документи nginx пропонують використовувати root /home;замість цього .