On 11/19/05, Kevin Smith <[EMAIL PROTECTED]> wrote:
> Hi All,
>
> Wonder if someone can work this one outt, I'm a bit stumped.
>
> I have the following RewriteRule:
>
> RewriteRule ^/product_category/([0-9]+)\.html\?source\=(.*)
> /product_category.php?top_cat_id=$1&source=$2
>
> This is meant to rewrite this URL:
>     http://www.foobar.com/product_category/22.html?source=foobar
>
> Into this URL:
>     http://www.foobar.com/product_category.php?top_cat_id=22&source=foobar
>
> However, it doesn't get the data after the source= parameter.
>
> It all works fine if I do this:
>     RewriteRule ^/product_category/([0-9]+)
> /product_category.php?top_cat_id=$1
>
> So, it seems there something no right trying retrieve parameters after
> .html extension?

If you look in the docs for RewriteRule, you'll see a special box
discussing the query string.  It tells you that RewriteRule doesn't
match against the query string.  You need a RewriteCond to do that. 
In your particular case, it seems like all you want is to copy the
query string to the new url and add something else.  In that case, the
[QSA] options (for Query String Append) is all you need:
RewriteRule ^/product_category/([0-9]+)\.html
/product_category.php?top_cat_id=$1 [QSA]

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to