1

我想在维护页面下显示一个自定义站点。但是我怎么能在不玩核心的情况下实现这一点呢?

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

?>

这对我不起作用。

4

2 回答 2

1

我一直在做的就是完全避免离线消息。在大多数情况下无论如何都要升级它是没有用的,因为在升级过程中,有一段时间部分文件已经到位,而其他文件(还没有),或者数据库出现故障等等。

避免它,很简单:

  • 添加您自己的index.html,包含有关离线的消息。
  • 重命名.htaccess为其他名称,例如DISABLED.htaccess,或清空它。确保在升级过程中它不会意外重新出现。

可能是 .htaccess 不是将 apache 指向 index.php 而不是 index.html 的那个,这在大多数服务器上都是如此。在这种情况下,您也需要更改 vhost ,以使其更喜欢 index.html 而不是index.php。

Drupals .htaccess 确保上面index.php是首选的,因此您可以安全地将该文件保留在生产的根目录中。(我将它与其他所有内容一起存储在 git 存储库中) index.html

完成后,您只需要放回 .htaccess,然后 Drupal 就会放大。

如果您希望在离线过程中访问您的站点,您可以通过访问http://example.com/index.php来实现。如果您想在离线时点击您的网站,您还应该禁用干净的网址。例如,您的管理设置区域位于http://example.com/index.php?admin/settings

于 2011-02-25T17:54:35.717 回答
0

最简单的解决方案是复制、粘贴主题中的“page.tpl”文件,将新文件重命名为“maintenance-page.tpl.php”。这适用于 Drupal 6,我想它也应该适用于 Drupal 7,但不确定。值得先尝试一下。

于 2011-03-01T11:57:58.763 回答