503 ответ сервера для Googlebot - PullRequest
0 голосов
/ 15 июня 2010

Я поместил файл .htaccess в мой webroot со следующим содержимым

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

Этот сайт находится в режиме обслуживания, и я пока не хочу ничего индексировать.Я протестировал код с помощью плагина переключателя User-Agent в 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>

::: EDIT ::: Добавлен небольшой фрагмент из rewrite.logНебольшой пример, я просмотрел весь журнал, и все ссылается на файл JavaScript или изображение:

172.16.173.26 - - [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

Ответы [ 2 ]

1 голос
/ 15 июня 2010

У вас есть бесконечный цикл. Результат вашего перезаписи снова переписывается.

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.

1 голос
/ 15 июня 2010

Либо используйте:

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

Или, если вы еще не используете Apache 2.x, где поддерживается вышеупомянутая конструкция, тогда сделайте ее страницей 503.php и установите ее поверх кода:1005 *

header("HTTP/1.1 503 Service Temporarily Unavailable"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...