Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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


(the “536_” is the user id)

so im trying to turn




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.


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]

share|improve this question
for "108_" you mean, in the url u gave "536_" ? why do you create all those folders to save the imagen? – jpganz18 Sep 17 '12 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 – flyenig Sep 17 '12 at 21:31
added edits to this question.... – flyenig Sep 17 '12 at 22:37
up vote 1 down vote accepted


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]
share|improve this answer
thanks but that didnt work – flyenig Sep 17 '12 at 22:28
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>? – flyenig Sep 17 '12 at 22:33
@flyenig You want to put the redirect rule above any routing rules (e.g. your "route everything to index.php" rule). – Jon Lin Sep 17 '12 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? – flyenig Sep 17 '12 at 23:14
nvm i got it to work. thanks! – flyenig Sep 17 '12 at 23:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.