wordpress开启多用户/多站点/多域名模式的方法
创始人
2024-12-27 06:40:53
0次

1.开启多用户网络

在网站根目录下的 wp-config.php 添加:

define('WP_ALLOW_MULTISITE', true);

刷新网站后台,访问 工具 > 配置网络,根据自己的需要选择“子域名”或者“子目录”模式,设置好网站信息,然后点击“安装”,只有新安装的WordPress,并且绑定了域名,这时候才可以选择“子域名”模式。如果你选择是的“子域名”,安装后,请将下面的代码添加到网站根目录下的 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.添加伪静态规则

如果你的服务器使用的是Aache环境,使用下面的代码替换网站根目录下的 .htaccess 里面的所有代码。

子域名模式下的规则代码:

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]

子目录模式下的规则代码:

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环境,则在域名配置文件server区域最后一个}之前加上以下规则,子域名和子目录模式通用:

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.设置COOKIE

这步操作很重要,如果不设置的话,之后登录网站后台会提示“错误:Cookies被阻止或者您的浏览器不支持。要使用WordPress,您必须启用Cookies。”,在网站根目录下的 wp-config.php 添加:

define( 'COOKIE_DOMAIN', '' );

4.多域名模式

在刚才添加好的子域名上点编辑,把里面的“站点地址(URL)”修改为指定的独立域名,保存。如果使用nginx环境,则在域名配置文件的server_name部分加上要使用的其他独立域名,重启nginx即可。
如果要自动匹配多域名,可以将域名配置文件的server_name部分改为:

server_name  ~^(www\.)?(.+)$;

这样即可实现Nginx多域名通配,任何用户只需设置好自己的域名,将解析指向该服务器即可,而无需管理员手动添加域名。

5.故障排除
(1).如果安装主题或插件是出现:“安装失败:无法复制文件。”可尝试修改目录权限或者用户组。
修改目录权限,以LNMP为例:

chmod 777 /home/wwwroot/网站目录 -R

修改用户组:

chown -R www:www /home/wwwroot/网站目录/

或参考:要执行请求的操作,WordPress需要访问您网页服务器的权限

(2).如果出现后台不显示主题,或只显示一个主题等,请参考:
LNMP开启scandir函数,解决wordpress无法扫描主题目录
LNMP下WordPress后台主题管理只显示一个主题解决方法
解决WordPress新建页面时不显示页面模板选项

当然这些问题与wordpress开启多用户模式并无直接关联,各家服务器商的系统环境都有所差别,PHP版本和默认配置都不尽相同,出现问题,请擅用搜索。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...