BusyBox HTTPD で Drupal 7.10 を使う
昨日、BusyBox で Drupal6 の作動方法を紹介しましたが今日は Drupal7 についても少し触れます。尚、ソースを2箇所修正しますので 6.x がサポートされてる間はそちらを利用する事をお勧めします。
Drupal7はindex.phpを隠す処理が施されているため、そのままではBusyBoxではフォームの変数を渡せません。 またoverlayモジュールを切ろうにもsaveボタンを押した後にurlを書き換えられているため設定が反映されない不具合が生じます。そこでindex.phpを常にurlに含むよう "includes/common.inc" を書き換えます。
includes/common.inc 2181行目
modules/overlay/overlay-parent.js 831行目
動作状況サンプル
Drupal7はindex.phpを隠す処理が施されているため、そのままではBusyBoxではフォームの変数を渡せません。 またoverlayモジュールを切ろうにもsaveボタンを押した後にurlを書き換えられているため設定が反映されない不具合が生じます。そこでindex.phpを常にurlに含むよう "includes/common.inc" を書き換えます。
includes/common.inc 2181行目
--- includes/common.inc.orig 2012-01-25 22:06:54.000000000 +0900 +++ includes/common.inc 2012-01-25 13:54:15.000000000 +0900 @@ -2178,7 +2178,7 @@ } $query = $query ? ('?' . drupal_http_build_query($query)) : ''; $script = isset($options['script']) ? $options['script'] : ''; - return $base . $script . $query . $options['fragment']; + return $base . 'index.php' . $script . $query . $options['fragment']; } }これで index.php がurlに含まれるようになりました。しかしまだ各リンクのurlは "/?=" になったままです。 それを修正するため "modules/overlay/overlay-parent.js" を書き換えます。
modules/overlay/overlay-parent.js 831行目
--- modules/overlay/overlay-parent.js.orig 2012-01-25 22:14:12.000000000 +0900 +++ modules/overlay/overlay-parent.js 2012-01-25 13:52:31.000000000 +0900 @@ -828,7 +828,7 @@ if (path.charAt(0) != '/') { path = '/' + path; } - path = path.replace(new RegExp(Drupal.settings.basePath + '(?:index.php)?'), ''); + //path = path.replace(new RegExp(Drupal.settings.basePath + '(?:index.php)?'), ''); if (path == '' && !ignorePathFromQueryString) { // If the path appears empty, it might mean the path is represented in the // query string (clean URLs are not used).pathを置き換えてる行をコメントアウトします。
動作状況サンプル
コメント
コメントを投稿