g1smd - 9:50 pm on Sep 15, 2012 (gmt 0)
Without it, requests for
http://example.com/somepage.html will be redirected to
and requests for
http://www.example.com/somepage.html will be redirected to
Your canonical non-www/www redirect rule will then kick in to ensure that non-canonical requests always pass through an unwanted multiple step redirection chain.
So, arrange the rules in this order:
- all redirects first, all rewrites last, and
- within each group, order from most specific to most general.
Redirects should always have the full protocol and hostname. This ensures that whatever is requested, one and only one rule is triggered and this fixes all of the problems that this request has.
In another thread, there's some code with rules ordered like this:
- strip "index.php" redirecting to folder on www
- strip ".php" redirecting to extensionless on www
- redirect (all other) non-www to www.
You can work out for yourself the disaster that will ensue should someone erroneously decide to use a different order, and then request various non-www URLs.