Forum Moderators: phranque
However this is re-written using mod rewrite to:
"rewritten to..." is not a helpful way of saying things, because you know what you mean but we don't. I strongly suspect that you've got mod_rewrite doing the exact opposite of what you want it to do. So...
Without using the words "rewrite" or "redirect", say what happens. What, if anything, changes in the user's address bar? Where, if anywhere, does the request go?
That means:
#1 what currently happens, based on your direct experiments and looking at logs, and
#2 what do you want to have happen, if it's different.
Again: without using the words "rewrite" or "redirect". Or, ahem, anything similar.
[edited by: tongpo at 10:03 pm (utc) on Dec 4, 2012]
the resulting URL is then www.widgets.com/whitewidgets/medium?widgetone=blue&widgettwo=red
In your RewriteRule that "rewrites" you detect a friendy URL and rewrite it to a filename and parameters internally inside the server.
This rule MUST have an [L] flag to prevent mod_rewrite going off and doing other stuff with this request.
A request for
www.widgets.com/whitewidgets/medium
is already being internally rewritten to
/index.php?widget=whitewidget&size=medium
in the correct way. This is good.
In order for a request for
www.widgets.com/whitewidgets/medium?widgetone=blue&widget2=red
to be internally rewritten to
/index.php?widget=whitewidget&size=medium&widgetone=blue&widget2=red
you also need to add the [QSA] flag to ensure the originally requested parameters are re-appended to the rewritten request.