Correção do caminho da imagem Nginx na reescrita

Correção do caminho da imagem Nginx na reescrita

Não tenho 100% de certeza se este é um erro do Nginx ou um erro de configuração.

Brincando com reescritas, já que nunca fui muito bom com elas e consegui fazer isso, uma vez que algo fosse ativado, /profile/.*passaria por um arquivo PHP e manipularia o request_uri.

Funciona muito bem, faz seu trabalho, mas todos os ativos, como imagens, param porque ele está tentando carregá-los, /profile/dist/img/...em vez de /dist/img/...causar 404.

Preciso capturar isso no Nginx para que qualquer tipo de arquivo de imagem seja explicitamente instruído a procurar nessa pasta definida ou é a forma como os arquivos/estrutura são configurados?

Minha reescrita é:

location /profile/ {
       rewrite ^/profile/(.*) /profile_handler.php?url=$1;
    }

Mesmo que o arquivo reescrito em profile_handler.php esteja na pasta raiz e faça referência a um cabeçalho e rodapé na pasta raiz, todas as tags estão tentando /profile/img.

eu tentei

 location ~ ^/profile/img/(.*) {
  try_files $uri /img/$uri;
}

mas não consigo fazê-lo funcionar.

Responder1

Dê uma olhada nisso:

location /dist/img/ {
   try_files $uri =404;
}

location /profile/ {
   rewrite ^/profile/(.*) /profile_handler.php?url=$1;
}

informação relacionada