mod_rewrite - how to create a rule based on first letter of a directory?

Hello,

I am a mod_rewrite newbie.  Can someone help me create a rule, perhaps using a map, to change urls based upon the first letter of the first directory after the server root?

For example,
http://www.server.com/apple/index.html gets mapped to /contenta/apple/index.html
and
http://www.server.com/apple/slice/index.php is mapped to /contenta/apple/slice/index.php

similarly,
http://www.server.com/bananna/slice/peel/index.php maps to /contentb/bananna/slice/peel/index.php
and
http://www.server.com/bananna/index.php  to /contentb/bananna/index.php

I hope that is clear ... files off the root such as http://www.site.com/index.html would also get their own mapping to /content_index or something like that.

Thank you for the help!
Beans0063Asked:
Who is Participating?
 
BigRatCommented:
Try :-

RewriteRule ^/(.)(.+)$     /content$1/$2   [L]

This maps everything to /contentx/..... Could you explain your second requirement a little more exactly? Do you mean that "plain" URLs like /file.html should be mapped into "content_file.html"?

In which case we'd need something like :-


RewriteRule  ^/([^/]+)$   /content_$1   [L]

as the FIRST rule in the rule list.

HTH
0
 
periwinkleCommented:
No comment has been added to this question in more than 21 days, so it is now classified as abandoned..
I will leave the following recommendation for this question in the Cleanup topic area:

    ACCEPT: BigRat

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

Periwinkle
EE Cleanup Volunteer
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.