在阿里云上怎样开启并搭建wordpress多站点?搭建多站点,大多数站长都会选择重复建站,也就是在同一个空间里用wordpress重复建设多个站点,这样的好处是各个站点互不干扰。这样的方案,对于建站不多的情况还是比较可考的。但是,如果你要建好多个站站,10个甚至几十个站点,这样在同一个空间或服务器上做不仅会影响速度,而且会占用大量的系统资源(比如:像许多wordpress主题站一样,他们要为每一个主题都要设置好一个演示站),这时,这套方案就有点不可取了。那么,在阿里云服务器上怎样开启并搭建wordpress多站点来解决这样的情况呢?下面我们就一起来看看。
第一步:开启wordpress多站点网络配置。
在网站根目录下的 wp-config.php 添加:
define('WP_ALLOW_MULTISITE', true);
设置好后,我们就会在网站后台的“工具”菜单下看到一个“配置网络”工具。
第二步:点击打开“网络配置”,创建网络。(如果没有禁用插件会提示你禁用插件)
这时会提示你:向您的wp-config.php文件(在C:/wamp/www/)中添加下列内容。请添加在/* That’s all, stop editing! Happy blogging. */或/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */的上方:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'localhost');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
注:先备份好你网站根目录下的 “wp-config.php”和“.htaccess”文件;
第三步:配置伪静态代码。
apache 规则:配置网络页面里提供的伪静态代码默认是 apache,直接用它替换掉你的网站根目录下的 .htaccess 文件里的代码。 如下:
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规则:假设你的网站域名是 hero.com ,那么nginx规则文件就是:/alidata/server/nginx-1.2.5/conf/vhosts/hero.com.conf (当然,这个 hero.com.conf文件名是你自己取的,要对应相关网站目录),在这个文件的最后一个大括号 } 前面添加以下代码:
#ignored: “-” thing used or unknown variable in regex/rew
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;
保存文件 ,然后重启服务器。这样一来,这个主站的wordpress多站点功能就搭建成功了。
然后,你就可以在你的网站后台顶部看到一个 我的站点——>管理网络菜单 ,这个菜单下有4个小菜单,点击其中的 “站点”,就可以在这个站点页面里创建你的新站点了。
如果你的站点是在虚拟空间的话,建多站点,会比阿里云更加方便好建。
注意:如果是 子目录 模式,主站点的文章都自动在链接中添加了 /blog/,如果你直接在这个子目录站点的 设置 > 固定链接 设置结构,是无法去除 /blog/ 的,而且在 lnmp 环境下,直接修改会自动添加 index.php。
解决办法是,访问 所有站点,点击主站点的编辑:
切换到“设置”标签,找到 固定链接 ,在这里直接填写 固定链接结构(比如 /%postname%.html),保存即可。这样就可以去除 /bolg/ ,同时不会添加 index.php,非常完美。