Apache 503谷歌机器人的服务器响应

Apache 503谷歌机器人的服务器响应,apache,mod-rewrite,Apache,Mod Rewrite,我在我的webroot中放置了一个.htaccess文件,其中包含以下内容 RewriteBase / RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC] RewriteRule .* /var/www/503.html 这个网站处于维护模式,我不想任何索引尚未。我用一个firefox用户代理切换器插件测试了代码,查看访问日志

我在我的webroot中放置了一个.htaccess文件,其中包含以下内容

RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC]
RewriteRule .* /var/www/503.html
这个网站处于维护模式,我不想任何索引尚未。我用一个firefox用户代理切换器插件测试了代码,查看访问日志,它在每个日志条目的末尾显示了这一点,但在TamperData或Firebug中观察,它仍然返回200服务器响应,而不是503服务器响应。我做错了什么

"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
/var/www/503.html的内容

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

RewriteRule .* /var/www/503.html [R=503,L]
或者,如果您还不在支持上述构造的Apache 2.x上,则将其设置为
503.php
页面,并设置在代码顶部:

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

你有一个无限循环。重写的结果将再次被重写

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

正如@BalusC所指出的,您还需要
R
标志。

您可以发布
503.php
的内容吗?可能是什么原因阻止了正确的标题输出。我更新了503页、路径和原始帖子,以显示我收到的错误。我将放置LogLevel调试以查看现在发生的情况。Google只索引从另一个站点链接到的内容(从那里它将抓取站点内的链接)或手动提交到它们的索引。我将.htaccess文件更改为您上面所放置的内容。我不再收到错误,但它没有加载我的503.html文件,它加载的503即将到来。apache日志中的用户代理仍然说Googlebot。@Hallik使用rewriteloglevel 9发布您的rewritelog。我已经更新了原始日志,将相关行包含在rewrite.log中。我在访问日志中验证了它显示Googlebot作为用户代理。@Hallik IP是一个保留的私有范围。你确定是谷歌机器人吗?…我正在本地使用firefox中的UserAgent切换器来模拟谷歌机器人进行测试
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (?:Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(?:Google|Image)? [NC]
RewriteCond $0 !(?:^|/)503\.html$
RewriteRule .* /var/www/503.html [R=503]