Thanks agin for the response. I do appreciate the time you've taken.
For some reason you've mistaken my post for someone who thinks they're an expert at .htaccess / mod-rewrite or whatever the best name for this process is. I am simply someone trying to get a website to do what I want it to. If I had posted "I'm brilliant, look at my great .htacces code", then your responses would make 100% sense. As for Rackspace vs you then I really couldn't care less. At this stage I'd say you probably know more than anyone over there. I don't need to start questioning their advice when it does nothing wrong.
You twice mention for me to ask Rackspace why they do that and this, but again I really couldn't care. I'm no expert, I just needed help. If Rackspace are wrong then great, but I may as well include the "RewriteBase /" considering they do recommend it and I can't see it harming anything. Rackspace told me to do it, it seems to work, so what's the problem?
About the apple.com/ipad thing, my aim (and if my htaccess code doesn't do this then that is where I am mistaken) is that someone goes to domain.com/page and it redirects to domain.com/page/ - this is what apple.com/ipad does. If my .htaccess code doesn't do this then that is where I am mistaken.
By redirecting all "domain.com/page" requests to "domain.com/page/" using a 301 redirect will then ensure that Google index both as the same page, preventing duplicate content issues. You say "where's the trailing slash on apple.com/ipad", well go to the link and you'll see Apple redirect (301) and append the trailing slash. Understanding your knowledge on SEO would help me. Mine's probably 2/10. Do you have any skills on SEO (if you do then I need to look at this, but if you know nothing about SEO then this would probably explain it)?
Thanks for the advice regarding "domain.com/page/var/var2/var3" and the "series of 'pseudo directories'" thing - I actually ensure all links are absolute anyway which I think resolves this. I've never had a problem actually with this, but I'm guessing a lot of people do.
Also, does my code add a trailing slash to every url? If it adds the trailing slash like apple.com does then that is my aim, but if it's adding it to requests it shouldn't then I need to change that.
Also, I posted 10 lines of code in what I would call three chunks. First it does the the trailing slash, then it does the https://www.domain.com/page/var/ redirect and then it ensures index.php is used on all requests. Can these 10 lines be condensed by keeping all the features? I was expecting someone to say, "that can be done in 4 lines" or that kind of thing. If you think that the fact I have gone with those decisions is stupid, then that's one thing, but it's whether my stupid decisions are coded correctly that I wanted help on.
I'm thinking now that you think the code is reasonable (not perfect though I'm sure), but it's the decision to listen to Rackspace and go with the SEO stuff you are questioning. I first thought you suggested the whole thing should be re-done.
In fact, the bit about "I'll let you place that in the mess above" - I expected it to be merged in with the rest, but it looks like that's not possible. So if I just need to add that as another line of code then I can easily do that. I just thought there'd be a better way to compress it. As an example, the way I've separately entered the trailings slash redirect and the redirect all to https://www.domain.com/page/var etc. - I expected those two chunks to easily be condensable into one (say 2/3 lines for the lot).
You also say, "That was a challenge for you ... to see whether you understand mod_rewrite or just want someone to script for you." - no, neither actually and I think this post shows that I don't understand mod_rewrite and I think it shows I haven't just expected someone to script for me.
If the only problem with my code is that I listened to Rackspace advice, followed SEO advice regarding trailing slash and am using https across the whole site then I actually think the code is ok. Unless there's something else I've messed?
I really think you have misunderstood the idea for my post. My post was aimed to say "this is my code, please help me improve" and nothing else.
I know nothing, you know everything. What more can I say!