WordPress Multisite 是將多個網站添加到 WordPress 安裝中的一種方法,你可以將舊網站變更為 Multisite 多站點,或是新創建一個 WordPress Multisite 網站。
啟用 WordPress Multisite 多站點,需要在 WordPress 的 wp-config.php 文件裡添加幾行代碼 (稍後將向你展示),然後,在你的 WordPress 控制台的工具 (Tools) 啟用多網站。
今天想把我的官網 WooWP Hosting 變更成 WordPress Multisit 子目錄模式,可以多方式應用,例如:可以加入知識庫、展示網站的功能。
當我在 wp-config.php 文件中加入以下代碼後:
define( 'WP_ALLOW_MULTISITE', true );
要啟用 WordPress Multisit 子目錄模式時,發現一條警告標語:
意思是說,我的網站是一個舊網站 (該網站已使用一個月以上),是無法使用子目錄 (sub-directories) 模式,只能變更為子網域 (sub-domains) 模式。
當用戶訪問該 URL 時,WordPress 不知道要顯示哪些內容。
我很確定我的 WordPress Multisite 不需要子網域模式,但我只需要子目錄模式配合我的知識庫、展示網站;但是由於我的網站安裝已超過 1 個月,因此 WordPress 不允許擁有子目錄。
但由於我很清楚該網站的網址結構,不會與 WordPress Multisite 子目錄模式的網址結構相衝突,最終,找到了簡單的解決方式。
強制子目錄解決方式
在啟用多網站功能的舊 WordPress 的當前的佈景主題 functions.php 文件中添加以下代碼:
add_filter( 'allow_subdirectory_install',
create_function( '', 'return true;' )
);
再回到 WordPress 後台控制台的工具 (Tools) 頁面,就會看到「子網域」和「子目錄」選擇的選項,通過添加控制台上建議的 wp-config.php 或 htaccess 代碼完成多網站啟用程後,就可以從 functions.php 中刪除之前添加的代碼。
結語
WordPress Multisite 是一個很棒的模式,同時運行多個 WordPress 網站,它將節省您的時間並提高效率。
在 Kinsta 主機中,預設是子網域模式,如果,你使用子目錄模式,需要請 Kinsta 客服工程師或聯絡我,幫你修改 Nginx 規則。
示範網站:
2020/10/27 補充:
WooWp 官網順利變更成 WordPress Multisite 子目錄模式後,文章網址也會自動更改,網址後面會自動加上 blog 型態,例如:
https://woowp.pro/blog/
這會嚴重影響 Google 的搜尋造成 404 錯誤頁,所以,必須加以 301 重定向,可以利用 301 Redirects – Easy Redirect Manager 或 Redirection 外掛來執行 301 重定向。
Photo by Carina Horn on Unsplash