您在這裡

将網站設置為503臨時不可用狀态

James Qi 在 2014年9月10日 - 15:05 發表

  網站在做升級、遷移等工作的時候,往往需要暫停一段時間,這個時候标準的辦法是為訪問者(包括搜索引擎)給出503臨時不可用狀态,并加上可見的說明文字。

  Drupal中有一個“維護模式”,啟用的時候該網站下屬各種頁面都會呈現出503狀态,包括不存在的頁面。

  不過當需要維護一批網站或者一部分頁面的時候,用Drupal的這個功能也不是很方便,在網上搜索找到一些解決辦法,例如這篇文章《503 HTTP Status Code when Site Down》講得比較有用。

  我實際上建了一個/usr/local/apache2/htdocs/drupal7.mingluji.com/503.php文件,代碼如下:

<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 7200'); // in seconds
print "Sorry, this page is temporarily unavailable.";
print "<br />";
print "對不起, 本頁面暫時不能訪問。";
?>

  然後修改了/usr/local/apache2/htdocs/drupal7.mingluji.com/.htaccess文件,加入代碼如下:

RewriteCond %{HTTP_HOST}  ^(m\.|)hangye\.mingluji\.com$
RewriteCond %{REQUEST_URI} ^\/(anquan|abc|abcd)\/
RewriteRule .* 503.php

  這樣就實現了域名為hangye.mingluji.com、m.hangye.mingluji.com以及目錄為anquan、abc、abcd的下屬頁面全部呈現503錯誤代碼,并給出中英文文字提示。

  那篇英文文章中說也可以把php代碼嵌入到Drupal的模闆文件中,不過就隻用一個新建單獨php文件以及修改.htaccess也很方便,也适用于MediaWiki等各種平台系統。

  附:

自由标簽:

回應

發表新回應

Plain text

  • 不允許使用 HTML 標籤。
  • 自動將網址與電子郵件地址轉變為連結。
  • 自動斷行和分段。