I have seen this in a few .htaccess
examples
RewriteBase /
It appears to be somewhat similar in functionality to the <base href="">
of HTML.
I believe it may automatically prepend its value to the beginning of RewriteRule
statements (possibly ones without a leading slash)?
I could not get it to work properly. I think it's use could come in very handy for site portability, as I often have a development server which is different to a production one. My current method leaves me deleting portions out of my RewriteRule
statements.
Can anyone explain to me briefly how to implement it?
Thanks
In my own words, after reading the docs and experimenting:
You can use RewriteBase
to provide a base for your rewrites. Consider this
# invoke rewrite engine
RewriteEngine On
RewriteBase /~new/
# add trailing slash if missing
rewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L]
This is a real rule I used to ensure that URLs have a trailing slash. This will convert
http://www.example.com/~new/page
to
http://www.example.com/~new/page/
By having the RewriteBase
there, you make the relative path come off the RewriteBase
parameter.