問題描述

我知道 this question 和其他人,但是還沒有找到一個確定的答案,如何一個域應該設置多點,以使 www 和 non-www 變體的行為正確。我相信我在 DNS 級別正確設置了通配符,並且建議的解決方案是為我的主站點添加 define( 'NOBLOGREDIRECT', 'http://www.example.com' );,而不是在同一安裝中的其他網絡。

我使用的 「WP 多網絡」 插件基於一些研究,導致我得出結論,如果我在一個 WordPress 安裝上運行多個域,我應該使用多個網絡,而不僅僅是多站點。我的網絡和網站都添加了域字段中包含的 www

那麼將沒有 www 的裸機映射到多站點安裝的正確方法是什麼?是否需要插件?這應該在 Web 服務器配置中使用重寫處理嗎?

最佳解決方案

WordPress Multisite 可以默認處理不同的域 – 但不能使用別名域。每個站點的設置存儲域。在默認安裝上有一個子域或 folder-structure 。但您可以添加單個域。

Screenshots

例如,前兩個站點具有相同的域 (默認來自安裝),第三個站點使用不同的域,默認為外部域。最後一個是不同的域。不需要用於域映射的插件或自定義源。

以下是最後一個網站的設置與單獨域的屏幕截圖:

如果要減少每次登錄的 cookie 檢查,請將以下常量添加到 wp-config.php

define( 'COOKIE_DOMAIN', '' );

否則 WordPress 將始終將其設置為您的網絡的 $current_site->domain,這可能會導致某些情況下的問題。

使用別名進行域映射

如果您需要更深入的自定義,例如將別名映射到域,插件可以幫助您。 WordPress 核心希望將來能夠提供域別別映射,但在此之前,您可以使用以下插件之一:

WWW 與 Non-WWW

我對 Non-WWW 和 WWW 網址沒有必要的知識,但我認為這種情況略有不同。像 www.test.com 這樣的域名具有子域名 www 。但是 www 是網絡的同義詞,通常不會被解釋為一個子域。對於所有的客户,我從 WWW 地址重寫 Non-WWW 。

提示創建一個新網站

在此過程中,要創建新站點,無法在輸入字段中添加外部域。添加一個隨機值,創建站點後,使用編輯的可能性來添加外部站點。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。