2011-02-25 51 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中工作,但不确定。它值得首先尝试。