下面由WordPress教程欄目給大家介紹wordpress開啟多用戶/多站點/多域名模式的方法,希望對需要的朋友有所幫助!
1.開啟多用戶網(wǎng)絡(luò)
在網(wǎng)站根目錄下的 wp-config.php 添加:
define('WP_ALLOW_MULTISITE', true);
刷新網(wǎng)站后臺,訪問 工具 > 配置網(wǎng)絡(luò),根據(jù)自己的需要選擇“子域名”或者“子目錄”模式,設(shè)置好網(wǎng)站信息,然后點擊“安裝”,只有新安裝的WordPress,并且綁定了域名,這時候才可以選擇“子域名”模式。如果你選擇是的“子域名”,安裝后,請將下面的代碼添加到網(wǎng)站根目錄下的 wp-config.php 下:
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', '你的域名'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
如果選擇的是“子目錄”,則添加:
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', '你的域名'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
2.添加偽靜態(tài)規(guī)則
如果你的服務(wù)器使用的是Aache環(huán)境,使用下面的代碼替換網(wǎng)站根目錄下的 .htaccess 里面的所有代碼。
子域名模式下的規(guī)則代碼:
RewriteEngine On 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]
子目錄模式下的規(guī)則代碼:
RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L] RewriteRule . index.php [L]
如果是Nginx環(huán)境,則在域名配置文件server區(qū)域最后一個}之前加上以下規(guī)則,子域名和子目錄模式通用:
rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent; if (-f $request_filename){ set $rule_2 1; } if (-d $request_filename){ set $rule_2 1; } if ($rule_2 = "1"){ #ignored: “-” thing used or unknown variable in regex/rew } rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last; rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last; rewrite /. /index.php last;
記得重啟Nginx。
3.設(shè)置COOKIE
這步操作很重要,如果不設(shè)置的話,之后登錄網(wǎng)站后臺會提示“錯誤:Cookies被阻止或者您的瀏覽器不支持。要使用WordPress,您必須啟用Cookies。”,在網(wǎng)站根目錄下的 wp-config.php 添加:
define( 'COOKIE_DOMAIN', '' );
4.多域名模式
在剛才添加好的子域名上點編輯,把里面的“站點地址(URL)”修改為指定的獨立域名,保存。如果使用nginx環(huán)境,則在域名配置文件的server_name部分加上要使用的其他獨立域名,重啟nginx即可。
如果要自動匹配多域名,可以將域名配置文件的server_name部分改為:
server_name ~^(www.)?(.+)$;
這樣即可實現(xiàn)Nginx多域名通配,任何用戶只需設(shè)置好自己的域名,將解析指向該服務(wù)器即可,而無需管理員手動添加域名。
5.故障排除
(1).如果安裝主題或插件是出現(xiàn):“安裝失?。簾o法復(fù)制文件。”可嘗試修改目錄權(quán)限或者用戶組。
修改目錄權(quán)限,以LNMP為例:
chmod 777 /home/wwwroot/網(wǎng)站目錄 -R
修改用戶組:
chown -R www:www /home/wwwroot/網(wǎng)站目錄/
或參考:要執(zhí)行請求的操作,WordPress需要訪問您網(wǎng)頁服務(wù)器的權(quán)限
(2).如果出現(xiàn)后臺不顯示主題,或只顯示一個主題等,請參考:
LNMP開啟scandir函數(shù),解決wordpress無法掃描主題目錄
LNMP下WordPress后臺主題管理只顯示一個主題解決方法
解決WordPress新建頁面時不顯示頁面模板選項
當(dāng)然這些問題與wordpress開啟多用戶模式并無直接關(guān)聯(lián),各家服務(wù)器商的系統(tǒng)環(huán)境都有所差別,PHP版本和默認配置都不盡相同,出現(xiàn)問題,請擅用搜索。