WordPress开启多用户/多站点/多域名模式能够满足WordPress在各种应用场景下的需求,对于WordPress程序而言,这是一项简单的任务,你可以轻松使用它来搭建一个大型内容网站。

WordPress开启多用户/多站点/多域名模式只需以下简单的几个步骤:

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.添加伪静态规则

如果你的服务器使用的是Apache环境,使用下面的代码替换网站根目录下的 .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.故障排除

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

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

修改用户组:

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

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

2.如果出现后台不显示主题,或只显示一个主题等,请参考:

声明:本站所有资源由用户发布分享以及互联网转载,只作为宣传购买原版的参考,版权争议与本站无关;如果你有什么不错的资源,也可以提供给本站免费帮你发布宣传;本站不对任何资源负法律责任以及索取相关费用,您若发现本站侵犯了你的版权利益,请联系本站删除处理!谢谢!