Если у вас используется regexp для отдачи статики, например, как у меня
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/unclev.ru;
index index.html index.php;
access_log off;
expires 30d;
}
то применяться будет именно этот location как наиболее подходящий. (Т.е. location с regexp имеют преимущество перед location без regexp). Порядок обработки loactions я почерпнул из
http://osdir.com/ml/web.nginx.russian/2004-11/msg00002.html.
Если перед предыдущим location вставить
location ~* (?:/phpmyadmin/).+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /usr/share/phpmyadmin;
index index.html index.php;
access_log off;
expires 30d;
}
то находится сначала он. Если не критична отдача картинок из phpmyadmin именно nginx, то можно вообще исключить /phpmyadmin/ из отдачи статики,
location ~* ^(?!/phpmyadmin/).+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /var/www/unclev.ru;
index index.html index.php;
access_log off;
expires 30d;
}
добавлять location включающий /phpmyadmin/ не надо, и тогда всё из /phpmyadmin/ будет отдаваться Апачем, как определено ниже
location / {
proxy_pass http://127.0.0.1:81/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}