Note, just a side about your first rewrite rule, you say URL’s that don’t contain '?' or '.', but your regex: ^[^?.]*$ actually prevents '?', '', and '.', because you are in the character class '[...]' the '.' doesn’t need escaping.
Do you play Magic?
Get TopDecked MTG, the #1 Magic App, built by players, for players. Free to use, forever.