一般我們安裝WordPress程序搭建站點都是單站點模式。實際上也有部分的同學是有需要用安裝多站點的。在這里,目前新版本的WordPress已經支持比較簡單的開啟WordPress多站點模式。
第一、開啟多站點配置
define('WP_ALLOW_MULTISITE', true);
這里,我們在 wp-config.php中添加上面代碼,然后登錄網(wǎng)站后臺,你可以看到工具-配置網(wǎng)絡。
配置提交。
然后我們需要到對應的文件添加配置規(guī)則。
1、子域名
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', true ); define( 'DOMAIN_CURRENT_SITE', 'bjj.org.cn' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );
2、子目錄
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false); define( 'DOMAIN_CURRENT_SITE', 'bjj.org.cn' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );
第二、添加多站點
配置完畢之后,我們現(xiàn)在可以去后臺看看添加多站點。
重新登錄后看到如上圖,可以對站點管理,根據(jù)我們設置的子域名或者子目錄來進行添加多站點。
第三、偽靜態(tài)規(guī)則
對于多站點,我們還需要對多站點偽靜態(tài)重新設置。
這里,根據(jù) Apache和Nginx不同的引擎有不同設置。
1、Apache引擎
#子域名
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]
2、Nginx引擎
如果我們是用的Nginx引擎的話,則需要在對于conf文件添加,不是替換。
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;
然后我們需要配置站點vhost中的域名添加*解析。重啟Nginx生效。
最后,我們還需要配置 WordPress固定鏈接不能用直接死鏈,而是用靈活的相對鏈接。
評論