Sorry I didn’t notice this before...
RewriteRule ^offer\/([0-9][0-9])\/$ /index.php?q=$1&offer_id=$2 [L,QSA]
I see a couple of problems:
* the q= needs to be the alias of the document that’s going to handle this request.
* since you only have one set of parentheses in the first part, you don’t have a $2.. just a $1.
* your rewrite rule will only act on URLs that contain two digits (the [0-9][0-9] part)
* after consulting mod_rewrite docs again, none of their examples escape the forward slash, so I’m going to revert that suggestion (I recall having to do that one one or more servers though)
So try
RewriteRule ^offer/([0-9]+)/$ /index.php?q=offer&offer_id=$1 [L,QSA]
You might have to play around with that alias in the redirect query string.. it might need to be "offer/" or something so that the modx parser can look up the proper document id.
So that’s your Q1.
Q2) How do I change the RewriteRules to handle a custom built page alias (ie: /offer/NewYork-01Jan2009-QXBIKKK-199/)
If you know there will always be a dash before the offer id, then maybe this would work:
RewriteRule ^offer/[^/]*\-([0-9]+)/$ /index.php?q=offer&offer_id=$1 [L,QSA]
Q3) How do I ensure that the RewriteRules do not screw up any of the other pages?
That rule will only apply to pages that match the pattern that we’re looking for. If you happened to want to create a modx document with an alias that does match this rule, without it being processed by the rule (quite unlikely I imagine), then some more thinking would be required.