1

i have a script that uploads images, creates a hash for it, creates 3 directories, and stores the image to

imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg 

(the “536_” is the user id)

so im trying to turn

imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg 

into

user_pics/536/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg 

how can i do that? i want that if someone wants to view the photo, they see the new directory in the url, not the one with 3 sub directories.

EDIT

So jon's method works but but i need to add RewriteRule .* index.php/$1 [PT,L] to my htaccess. when i add that, everything stops working how come?

this is what i currently have so far

RewriteEngine On
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]

3
  • for "108_" you mean, in the url u gave "536_" ? why do you create all those folders to save the imagen? Commented Sep 17, 2012 at 21:26
  • sorry fixed :p. and i created them because there will be A LOT (millions) of pictures on this server so they need to be spread evenly Commented Sep 17, 2012 at 21:31
  • added edits to this question.... Commented Sep 17, 2012 at 22:37

1 Answer 1

1

Try:

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] 
3
  • nvm it worked but there is a problem... i need to have this rule in my htaccess RewriteRule .* index.php/$1 [PT,L] when i take it out it works, but when i put it in it doesnt. why>? Commented Sep 17, 2012 at 22:33
  • @flyenig You want to put the redirect rule above any routing rules (e.g. your "route everything to index.php" rule). Commented Sep 17, 2012 at 22:38
  • ok i put that before the index.php rule and now my whole site gives me a 500 error, what am i doing wrong? Commented Sep 17, 2012 at 23:14

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.