Use htaccess to mask folder name

admin

Administrator
Staff member
Here's a problem I'm always wanting to solve with htaccess. I haven't found a way yet, though it looks like it should be possible - perhaps someone can help.

Let's say I have a folder at the root of my site called
Code:
/foo/
. I want users to be able to access that folder at the path
Code:
/bar/
, but for various reasons I can't rename the folder.

So as not to create confusion I only want one path to ever be seen - that is to say, I <em>don't</em> want people to use the name
Code:
/foo/
to access the folder; they should always use
Code:
/bar/
. If someone goes to
Code:
example.com/foo/
, their browser should redirect to
Code:
example.com/bar/
- but the content returned should be the content of
Code:
/foo/
.

To make matters more complicated, pages in
Code:
/foo/
have dependencies (images, stylesheets, links to other pages, etc) within
Code:
/foo/
which are hardcoded and can't be changed. These must, of course, still work.

So, to summarise, this is what I want :

<ul>
<li>Requests for
Code:
example.com/foo/
should redirect to
Code:
example.com/bar/
.</li>
<li>Requests for
Code:
example.com/bar/
should return the contents of
Code:
example.com/foo/
.</li>
</ul>

Is this possible? It looks on the surface as if it would create an infinite redirect... but I'm pretty sure there are ways to prevent that in htaccess, aren't there?

I'd be very grateful for any help.

(PS - for a little extra background: The normal reason I want to do this is to rename the wordpress
Code:
/wp-admin/
directory to something more professional and easy for customers to remember, such as
Code:
/admin/
. But the same system should work for masking any path in this way.)