I'm trying to set up an alias so when someone accesses /phpmyadmin/, nginx will pull it from /home/phpmyadmin/ rather than from the usual document root. However, everytime I pull up the URL, it gives me a 404 on all items not pulled through fastcgi. fastcgi seems to be working fine, whereas the rest is not. strace is telling me it's trying to pull everything else from the usual document root, yet I can't figure out why. Can anyone provide some insight?
Here is the relevant part of my config:
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/; }
/in the alias and thelocationdirective, requesting/phpmyadminfilewill actually get you/home/phpmyadminfile. As for why the config in the question doesn't work, it looks correct to me, so I suspect there's anotherlocationdirective not shown which is matching when not intended. In this case, as thealiasends with thelocationprefix, the nginx docs suggest usingroot /home;instead.