You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Michael McGlothlin <mi...@swplumb.com> on 2007/10/08 21:43:59 UTC
[users@httpd] Why does my rewrite not work?
RewriteCond %{HTTP_USER_AGENT} ^.*[Googlebot|Yahoo!\ Slurp].*$
RewriteCond %{QUERY_STRING} ^(.*)([\?|&]pathKey=\d*)(.*)$
RewriteRule (.*) $1?%1%3 [R,L]
I'm using Apache 2.2.6 running on Fedora Linux 6 with kernel 2.6.20. My intent is to rewrite any request from Google or Yahoo so that if the URL contains pathKey=whatever it'll just drop that part. That portion is being dropped correctly but it's happening regardless to the user agent. Anyone know what I'm doing wrong? Thanks.
--
Michael McGlothlin
Southwest Plumbing Supply
---------------------------------------------------------------------
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
Re: [users@httpd] Why does my rewrite not work?
Posted by Michael McGlothlin <mi...@swplumb.com>.
Thanks, that seems to be what I was overlooking. Converts
https://www.plumbersstock.com/product.html?partNumber=128&pathKey=33245
to https://www.plumbersstock.com/product.html?partNumber=128 just for
Google and Yahoo. For others' reference this is the finished code that
seems to work for me:
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Yahoo!\ Slurp).*$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)(&+pathKey=\d*)(.*)$
RewriteRule (.*) $1?%1%3 [R,L]
--
Michael McGlothlin
http://www.PlumbersStock.com/
>> RewriteCond %{HTTP_USER_AGENT} ^.*[Googlebot|Yahoo!\ Slurp].*$
>>
> In a regex [charclass] matches any single character in charclass. In
> other words, that expression will match any user agent string that
> contains a "G", or an "o", or an "l", or an "e", etc. Replacing the []
> with () will help.
>
> Also, use the RewriteLog for debugging.
>
---------------------------------------------------------------------
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
Re: [users@httpd] Why does my rewrite not work?
Posted by Joshua Slive <jo...@slive.ca>.
On 10/8/07, Michael McGlothlin <mi...@swplumb.com> wrote:
> RewriteCond %{HTTP_USER_AGENT} ^.*[Googlebot|Yahoo!\ Slurp].*$
In a regex [charclass] matches any single character in charclass. In
other words, that expression will match any user agent string that
contains a "G", or an "o", or an "l", or an "e", etc. Replacing the []
with () will help.
Also, use the RewriteLog for debugging.
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