我想在维护页面下显示一个自定义站点。但是我怎么能在不玩核心的情况下实现这一点呢?
<?php
function phptemplate_maintenance_page($content, $messages = TRUE, $partial = FALSE) {
$path = $base_path . $directory;
drupal_goto($path .'offline.html');
}
?>
这对我不起作用。
我想在维护页面下显示一个自定义站点。但是我怎么能在不玩核心的情况下实现这一点呢?
<?php
function phptemplate_maintenance_page($content, $messages = TRUE, $partial = FALSE) {
$path = $base_path . $directory;
drupal_goto($path .'offline.html');
}
?>
这对我不起作用。
我一直在做的就是完全避免离线消息。在大多数情况下无论如何都要升级它是没有用的,因为在升级过程中,有一段时间部分文件已经到位,而其他文件(还没有),或者数据库出现故障等等。
避免它,很简单:
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。
最简单的解决方案是复制、粘贴主题中的“page.tpl”文件,将新文件重命名为“maintenance-page.tpl.php”。这适用于 Drupal 6,我想它也应该适用于 Drupal 7,但不确定。值得先尝试一下。