開啟 WordPress多站點的方法及對應偽靜態(tài)設置

麥子 優(yōu)化維護171字數(shù) 1915閱讀6分23秒閱讀模式

一般我們安裝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固定鏈接不能用直接死鏈,而是用靈活的相對鏈接。

投上你的一票
 
  • 本文由 麥子 發(fā)表于 2024年10月4日 14:15:24
  • 轉載請務必保留本文鏈接:http://bjj.org.cn/enable-wpmultisite.html
  • WordPress開啟多站點