Tente:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user_pics/([^/]+)/[^_]+_(.{3})(.{3})(.{3})(.*)\.(jpe?g|gif|png)$ /imgs/$2/$3/$4/$1_$2$3$4$5.$6 [L]
Eu tenho um script que envia imagens, cria um hash para ele, cria três diretórios e armazena a imagem em
imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg
(o "536_" é o nome do usuário)
estou tentando virar
imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg
em
user_pics/536/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg
como posso fazer isso? Eu quero que, se alguém quiser ver a foto, eles ver o novo diretório na url, não aquele com 3 subdiretórios.
Então o método de jon funciona, mas eu preciso adicionar RewriteRule .* index.php/$1 [PT,L]
ao meu htaccess. quando eu adiciono isso, tudo para de funcionar como é que vem?
isto é o que eu tenho atualmente até agora
RewriteEngine no
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule. * Index.php / $ 1 [PT, L]
RewriteRule ^ user_pics / ([^ /] +) / [^ ] + (. {3}) (. {3}) (. {3}) (. *). (Jpe? G | gif | png) $ /imgs/$2/$3/$4/$1_$2$3$4$5.$6 [L]