Я намагаюся налаштувати псевдонім, тому коли хтось має доступ /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;
замість цього .