WordPress Multi Site 多站點網路是什麼?簡易設定教學

什麼是 WordPress Multi Site 功能?

多站點網絡是一組共享相同 WordPress 安裝核心文件的網站。它們還可以共享插件和主題。網絡中的各個站點是虛擬站點,意味著它們在服務器上沒有自己的資料夾,但它們在共享安裝中具有媒體上傳的單獨資料夾,並且在數據庫中有單獨的資料庫表格。

WordPress Multi Site 類型

根據你希望網絡如何處理 URL 以及是否允許最終用戶按需創建新站點,你可以在幾種不同類型的多站點網絡之間進行選擇。

  • Sub Domain (基於網域的 Multi Site):例如 a.domain.com 和 b.domain.com
  • Sub Directory (基於子目錄的 Multi Site):例如 domain.com/a 和 domain.com/b

不同類型的網絡對服務器要求有所不同,如果你對網站主機沒有完全控制權,那麽多站點網絡功能可能無法使用。在這種情況下,你會需要與托管環境的運營方協商來滿足這些要求。

WordPress Multi Site 設定教學

想要在 WordPress 裡面啟用 Multi Site 功能,首先你要先確保 wp-config.php 內已加上 define('WP_ALLOW_MULTISITE', true); 這段程式碼。

在 WordPress 管理員介面啟用 Network Setup (多站網路組態)

前往管理員控制台的「工具」中找到「多網路組態設定」。要注意在啟用多站網路功能前,必須先停用全部外掛,等待多站網路成功建立後,多站網路管理員便可以再重新啟用外掛。

如果你已經停用所有外掛或是你是一個全新的 WordPress 安裝,那麼便可以開始啟用多站網路安裝程式(如下圖):

依指示啟用多站網路(需修改 wp-config.php 和 .htaccess)

你會需要具備有修改 wp-config.php 和 .htaccess 的控制權,以我們的範例來說,我們需要在 wp-config.php 中加入:

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'inbound.technology' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

注意 SUBDOMAIN_INSTALL 為 true 時代表是網域安裝,為 false 代表是子目錄安裝。

在 .htaccess 中調整為:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

最後依照指示,在完成這些步驟後,多站網路便完成啟用及組態。多站網路管理員必須重新登入。

開始設定 & 新增 Multi Site

當你完成多站網路啟用後,你登入後台會發現上方選單多了一個 My Sites 網路站點的下拉選單,此時點入到 Sites 裡後你可以管理你的所有網站。新增網站時你可以設定該網站的網域如下圖所示:

WordPress Multi Site 支援不同主網域嗎?

基於網域的 Multi Site 設定雖然是寫「Sub Domain 子網域」,但事實上它是可以做到不同主網域的,例如 hello.com 和 world.com 兩個可以在同一個多站點網路內做管理。不過為了要能夠正常登入不同網域的後台,你會需要在 wp-config.php 中加入 define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );

當你新增完網站站點後,你可以對網站站點進行網站網址的設定,只要設定為你想要的網址就行。

最後你會需要做 DNS 指向,以及在託管網站主機上設定對應的虛擬主機 (Virtual Host) 即可。

WordPress Multi Site 和 WPML 可以一起用嗎?

可以的,只是要注意如果你是使用網域安裝,你是無法啟用 WPML 不同語系不同網域的功能,你只能使用 WPML 子目錄。

延伸閱讀:【WordPress SEO教學】超實用WordPress SEO優化指南