I put an .htaccess file during my webroot using the following contents

RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC]
RewriteRule .* /var/www/503.html

This site is within maintenance mode, and I'm not going anything indexed yet. I examined the code having a opera User-Agent switcher wordpress plugin, and searching in the access log it shows this in the finish of every log entry, but watching in TamperData or Firebug, still it returns a 200 server response rather than a 503. What shall we be held doing wrong?

"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

items in /var/www/503.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<title>503 - Service temporary unavailable</title>
<h1>503 - Service temporary unavailable</h1>
<p>Sorry, this website is currently down for maintainance please
retry later</p>

:::EDIT::: Added small snippet in the rewrite.log This is a small sample, I went through the whole log, and things are mentioning to some javascript or image file: - - [15/Jun/2010:15:03:31 --0500] [qa-test.com/sid#2b6c1c8ba938][rid#2b6c24cfdd18/initial] (4) [perdir /var/www/qa-test.com/web/] RewriteCond: input='' pattern='^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)?' [NC] => not-matched

Either use:

RewriteRule .* /var/www/503.html [R=503,L]

Or when you are this is not on Apache 2.x yet in which the above construct is supported, then turn it into a 503.php page and occur surface of code:

header("HTTP/1.1 503 Service Temporarily Unavailable"); 

You possess an infinite loop. Caused by your rewrite has been rewritten again.

RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (?:Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(?:Google|Image)? [NC]
RewriteCond $0 !(?:^|/)503\.html$
RewriteRule .* /var/www/503.html [R=503]

As @BalusC stated, additionally you require the R flag.