メンテナンス中のカスタムサイトを表示したい。しかし、コアをいじらずにどうすればこれを達成できますか?
<?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が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にあります。
最も簡単な解決策は、「page.tpl」ファイルをコピーしてテーマに貼り付け、新しいファイルの名前を「maintenance-page.tpl.php」に変更することです。これは Drupal 6 で動作し、Drupal 7 でも動作するはずですが、確かではありません。これを最初に試す価値があります。