Apache RewriteRule

This is a discussion on Apache RewriteRule within the Apache forums in Application Servers & Tools category; 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_catego...?source=foobar Into this URL: http://www.foobar.com/product_catego...&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? Any ideas? Regards, Kevin...

Go Back   Application Development Forum > Application Servers & Tools > Apache

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 11-19-2005, 07:33 AM
Kevin Smith
Guest
 
Default Apache RewriteRule

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_catego...?source=foobar

Into this URL:
http://www.foobar.com/product_catego...&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?

Any ideas?

Regards,

Kevin



Reply With Quote
  #2  
Old 11-19-2005, 11:12 AM
Joshua Slive
Guest
 
Default Re: Apache RewriteRule

On 11/19/05, Kevin Smith <kevin@netsmith.ltd.uk> 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_catego...?source=foobar
>
> Into this URL:
> http://www.foobar.com/product_catego...&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: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 08:09 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.