phpMyAdmin rewrite for nginx

Danafer asked:

I am trying to configure Nginx so that I can access PhpMyAdmin from a subdirectory (aka The code provided below seems to work for me although I don’t want the alias to be /phpmyadmin.

location /phpmyadmin {

       root /usr/share/;
       index index.php index.html index.htm;
       location ~ ^/phpmyadmin/(.+\.php)$ {
               try_files $uri =404;
               root /usr/share/;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               include /etc/nginx/fastcgi_params;
       location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
               root /usr/share/;

If I try to change the location name from

location /phpmyadmin { …


location /secret { …

everything seems to break. What am I doing wrong?

My answer:

You should use an alias instead:

location /mysecretdirectory {
    alias /usr/share/phpmyadmin/;

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.