URL de mapeamento para o sistema de arquivos

3

Qual seria a melhor maneira de mapear essa URL para esse caminho do sistema de arquivos?

De

http://site.com/200x300/ed3269d0-f9ef-4ffc-abea-5982969876c0/my file.jpg

Para

/var/www/e/d/3/ed3269d0-f9ef-4ffc-abea-5982969876c0/200x300.jpg

Onde

  • "200x300" é o tamanho da imagem
  • "ed3269d0-f9ef-4ffc-abea-5982969876c0" é o guid da imagem
  • "meu arquivo" é o nome do arquivo (usado para SEO, pode conter espaços)
  • "e", "d" e "3" são as primeiras 3 letras do guid
  • ". jpg" é a extensão do arquivo
por ZogStriP 17.01.2012 / 18:29

2 respostas

5

Tente algo como seguir:

location / {
   location ~* ^/(\d+x\d+)/((\w)(\w)(\w)[-\w]+)/[^/]+\.jpg$ {
      alias /var/www/$3/$4/$5/$2/$1.jpg;
   }
}
location /some_other_location/ { ... }
    
por 17.01.2012 / 18:35
0

Aqui está o que eu fiz (como eu preciso extrair a extensão também):

server {
   root /var/www;

   location ~* ^/(\d+x\d+)/((\w)(\w)(\w)[-\w]+)/[^\.]+\.(\w+)$ {
      try_files /$3/$4/$5/$2/$1.$6 /index.html;
   }
}
    
por 18.01.2012 / 10:28

Tags