Page is a not externally linkable
g1smd - 12:52 pm on Nov 3, 2012 (gmt 0)
If you allow trailing slash and not-trailing slash to both directly return content with 200 OK status, then you have created a duplicate content problem.
For folders, URL with slash should return content and URL without slash (and URL with index filename) should redirect.
For pages, URL without slash should return content and URL with slash should either redirect or return 404 Not Found.
%{THE_REQUEST} ^[A-Z]{3,9} - this part matches the literal GET or POST method found in the HTTP request header sent by the browser: GET /book.php?name=this_one_here HTTP/1.1
QUERY_STRING looks at the query string part only, and this may have already been modified by a previous internal rewrite. You look at THE_REQUEST to ensure that the query string was part of the original request that the browser made and not created as a result of a previous internal rewrite. Looking at THE_REQUEST in this way prevents an infinite redirect->rewrite loop.
The redirect target should contain the canonical protocol and hostname.
Leave a blank line after every RewriteRule to make the code easier to read.
Directly after your "specific" redirect, you need to add the "general" non-www/www canonicalisation redirect.
The end anchoring in the pattern in the Rule which rewrites should be $ not (&|$)