如何重新安裝 Drupal 多網站內的一個網站?

最近在測試使用 Drupal 建立共用同一套核心的多網站系統,主要是因應公司要建置手機版的官方網站,想要在同一架構下建立另一個不同介面的網站。

經過搜尋,發現目前大部分的網站如果要展示手機版,通常都是使用另一個網址,例如 m.sample.com ,雖然這會造成一些 SEO 的困擾,但算是最穩定的方法,因此決定採用子網域名稱來處理。


我嘗試使用 Heaven 的人生海海網站裡面的方法,雖然可以多個網站共用資料庫,但是當我要改變一些像是 Block 與 Panel 之類的排版時,其他的網站也會跟著變動,那就無法達到我要的目的。

我希望能夠使用同一套資料庫,但是卻完全使用不同的排版,當然啦,如果不使用Block之類的設定,或許使用各自獨立的 Panel 與 Views 去構築,可能可以達到這樣的目標,但是因為剛開始設計網站時並沒有考慮到這個層面,如果現在要更動,工程太過浩大,因此只能作罷,另外建立一個獨立的資料庫網站來表現手機版本。

但是因為剛剛已經利用子網站的方式建立一個新的網站,並且依照 Heaven 的教學改了設定,現在要改回來卻又無法運作,只好重新安裝一次,以下是重新安裝到新的資料庫的教學。

首先把子網站資料夾裡面的東西清空,然後複製 site/default/settings.php 到子網站的目錄下,更改裡面的資料庫設定,如下:

$databases = array (
  ‘default’ =>
  array (
    ‘default’ =>
    array (
      ‘database’ => ‘your database name’,
      ‘username’ => ‘ your database username ‘,
      ‘password’ => ‘ your database password  ‘,
      ‘host’ => ‘localhost’,
      ‘port’ => ”,
      ‘driver’ => ‘mysql’,
      ‘prefix’ => ‘subsite1_’,
    ),
  ),
);

將更改後的 settings.php 放在子目錄下。

在瀏覽器輸入你的子網站的網址,後面加上 install 頁面的位置,如:http://m.sample.com/install.php?profile=standard&locale=en

你就可以重新安裝一次子網站的 Drupal 系統了。

Drupal Clean URLs 無法勾選或失效的解決方案

有些使用者租用虛擬伺服器的 cPanel 提供 Simple script 的功能,在安裝 Drupal 後會發現 clean URLs 為灰色無法選取或是失效的狀況,其實這是屬於一個系統的漏洞,透過在安裝目錄預先置放 .htaccess 檔案就可以解決這個問題。

你可以先下載 最新版的 Drupal ,該檔案位於 Drupal 的根目錄,有一個 .htaccess 的文字檔,把該檔案複製到你在 cPanel 的 Simple script 要安裝的網站目錄的根目錄中,再使用  Simple script 來安裝 Drupal ,安裝完成後到設定頁面的 clean URLs 設定,就可以看到有可以勾選的項目出現了。