I'm going to try and explain the situation I'm in so the problem is a little more understandable first I think. I'm basically tryng to redirect an old website to a new one using:
RedirectMatch permanent ^/old-website/.* /new-website/
This works to redirect the whole of the old website to the new website. I've since found out from the client that a folder from their old website still need to be accessible so I added an exception:
RedirectMatch permanent ^/old-website/(?!foo).* /new-website/
That also works fine, but I've now been told there are multiple folders they still need to access. The reason these folders need accessing is that they've been printed in documents that have circulated for the last few years so moving them to a new place would mean anyone looking at one of these printed documents would get a broken link.
I can add multiple exceptions using this syntax:
RedirectMatch permanent ^/old-website/(?!foo)(?!bar/).* /new-website/
However, what I want to know is there a better/neater way of doing this. The other thing to bear in mind is that the /old-website is an alias of /~user-account.
I haven't had to do redirects like this before so my question is this: Is adding exceptions to a RedirectMatch rule like this safe and reliable and should I look out for problems?