How can I set the rewrite base of the rewrite engine to

#access site via http://1.1.1.1/~sitename/
RewriteBase /~sitename/

when it's accessed via http://1.1.1.1/~sitename/ and set it to

#access site http://www.sitname.com
RewriteBase /

when it's accessed via www.sitname.com?

I'd like to have some sort of switch or condition. Because now when I set the RewriteBase to one of the options, the site is not functional when trying to access it with the other url.

EDIT: New site same problem.... so is this unsolvable?

link|improve this question

53% accept rate
feedback

1 Answer

Put it withing tags in you config. Something along the lines of the following might do:

<Directory /path/to/document/root>
    RewriteBase /
    ....
</DirectoryMatch>

<Directory /home/sitename>
    RewriteBase /~sitename
    ....
</DirectoryMatch>

For the ~sitename case you may want to place it in a .htaccess istead to more easily define it for different users.

If these are in different vhosts you also have to specify

RewriteEnging On

for both of them.

link|improve this answer
In fact this rule is in the .htaccess, also I can't get this to not create a server error. – Moak Aug 12 '09 at 13:23
feedback

Your Answer

 
or
required, but never shown

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