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がindex.htmlよりもindex.phpにapacheを向けているものではない可能性があります。その場合、index.phpよりもindex.htmlを優先するように、vhostも変更する必要があります。

Drupals .htaccessは、それが上記index.phpで優先されることを確認するため、本番環境のルートディレクトリにそのファイルを安全に残すことができます。(私はそれを他のすべてと一緒にgitリポジトリに保存します) index.html

完了したら、必要なのは.htaccessを元に戻すことだけで、Drupalがズームします。

オフラインプロセス中にサイトにアクセスしたい場合は、http://example.com/index.phpにアクセスしてアクセスできます。オフライン中にサイトをクリックする場合は、クリーンURLも無効にする必要があります。たとえば、管理者設定領域は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 に答える