Se você está redirecionando o phpmyadmin para o apache, você precisa usar:
location ~ ^/admin/tools/phpmyadmin/(.+\.php)$
Em vez de:
location /admin/tools/phpmyadmin
Recentemente, decidi mudar para o nginx do apache, ainda estou usando o apache como proxy reverso para cuidar de todo o meu conteúdo dinâmico. Tendo trabalhado com o apache nos últimos 2-3 anos, sei como lidar com a maior parte da configuração possível, mas com o nginx é um mundo novo.
O problema é quando estou usando aplicativos da web de terceiros, como o phpmyadmin, as imagens não carregam, geralmente eu usaria um Alias no apache, mas definir um local (o Alias do nginx) não ajudará.
nginx.conf
# primary server - proxypass
server {
listen 80;
server_name domain.com www.domain.com;
access_log /var/www/domain/logs/access_log.nginx main;
error_log /var/www/domain/logs/error_log.nginx warn;
root /var/www/domain/html/http;
# proxy to Apache 2 and mod_python
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location /admin/tools/phpmyadmin {
root /var/www/admin/phpmyadmin;
}
# Static files location
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
root /var/www/domain/html/http;
}
}
O problema com o último bit Location é que ele deve cuidar da maior parte do static e nunca passá-lo através do apache (usando o apache apenas para um proxy reverso), mas isso também redirecionará todos imagens encontradas no / admin / tools / phpmyadmin Alias para a raiz do domínio.
Aprecie toda a ajuda. Obrigado,
Se você está redirecionando o phpmyadmin para o apache, você precisa usar:
location ~ ^/admin/tools/phpmyadmin/(.+\.php)$
Em vez de:
location /admin/tools/phpmyadmin
Suponho que a primeira estância de Localização esteja lidando com a solicitação. Tente mover a sub-rotina Location para o seu conteúdo estático acima da sub-rotina Location raiz. Não me lembro se eles são específicos do pedido, mas lembro que o Apache está com as declarações do VirtualHost. Caso contrário, você poderia mover a sub-rotina Localização para as imagens estáticas no local raiz e reescrevê-lo como um teste
if ( $request_url ~* /*.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$/ {
root /var/www/domain/html/http;
}