2011-02-25 82 views
1

我想在維護頁面下顯示自定義網站。但是如何在不玩核心的情況下實現這一點?如何在Drupal 7中使用自定義網站維護頁面

<?php 
function phptemplate_maintenance_page($content, $messages = TRUE, $partial = FALSE) { 
    $path = $base_path . $directory; 
    drupal_goto($path .'offline.html'); 
} 

?> 

這並不適用於我。

+3

您是否嘗試使用自定義maintenance-page.tpl.php? http://api.drupal.org/api/drupal/modules--system--maintenance-page.tpl.php/7 – soju 2011-02-25 17:05:08

回答

1

我總是這樣做,就是避開那個離線信息。在大多數情況下,無論如何升級都是無用的,因爲在升級過程中,有一部分文件存在,其他文件尚未存在,或者數據庫關閉時等等。

避免它,是非常簡單的:

  • 添加您自己的index.html,包含大約是離線消息。
  • .htaccess重命名爲其他內容,如DISABLED.htaccess或清空它。確保升級過程中不會意外重新出現。

這可能是.htaccess不是像index.php那樣通過index.html引導apache,就像大多數服務器一樣。在這種情況下,您還需要修改虛擬主機,以便使index.html 高於 index.php。

Drupals的.htaccess可以確保index.php優先以上index.html,所以你可以放心地離開該文件在根目錄下的生產。 (我把它和其他所有東西一起存放在git倉庫中)

一旦你完成了,你所需要的就是放回.htaccess,Drupal將會放大。

如果您希望在脫機過程中訪問您的網站,可以通過訪問http://example.com/index.php來完成。如果您想要在離線狀態下點擊您的網站,則還應禁用乾淨的網址。例如您的管理員設置區域爲http://example.com/index.php?admin/settings

0

最簡單的解決方案是複製,粘貼主題中的「page.tpl」文件,將新文件重命名爲「maintenance-page.tpl.php」。這在Drupal 6中起作用,我想它也可以在Drupal 7中工作,但不確定。它值得首先嚐試。