網站在做升級、遷移等工作的時候,往往需要暫停一段時間,這個時候标準的辦法是為訪問者(包括搜索引擎)給出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等各種平台系統。
附:
- 查詢工具:查詢頁面HTTP狀态;
- 查看例子:503報錯頁面。
评论2
後台怎麼設置啊?
後台怎麼設置啊?Drupal 7後台在https://www
Drupal 7後台在https://www.example.com/admin/config/development/maintenance 裡面勾選為“将站點置于維護模式”,提交保存配置就可以了👌