WordPress 多站点 – 蓝月网络 https://lanyueer.com 专注于WordPress外贸建站,主题插件汉化、配置 Thu, 18 May 2017 03:13:59 +0000 zh-CN hourly 1 如何把WordPress数据迁移至WordPress MU https://lanyueer.com/wordpress-to-wordpress-mu/ Thu, 18 May 2017 03:13:59 +0000 http://lanyueer.com/?p=905 本文是《WordPress 多站点》系列教程的第 8 部分,该系列共包含以下8个部分:在MU中最原始的站点数据…

如何把WordPress数据迁移至WordPress MU,首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 8 部分,该系列共包含以下8个部分:

在MU中最原始的站点数据是不需要改动,只需要转移新添加的站点文件和数据,而这个转移的过程并不是很轻松。

WordPress的数据包括程序文件和数据库,所以转移的过程也分为两部分:

首先,我们来了解一下新创建的站点文件夹和数据表结构,在Wordpress中新建的数据库表前缀是:“wp_”的形式,而MU创建的第二个站点数据库表前缀是:“wp_2_”(2是新站点的ID)的形式;而MU创建新站点时会在主站的uploads文件夹下创建sites文件夹,再根据ID(假如ID为2)会在sites文件夹下再创建数字“2”这个文件夹,这样我们就明白数据该如何转移了。

一、程序文件的转移

转移的目标:主题和uploads文件夹下的所有文件

1、主题,我们可以在“管理网络”中的“主题”中直接安装,也可以在主机上拷贝到主站的themes文件夹下,然后在管理网络——外观——主题,点击“开放给整个站点网络使用”,这时我们就可以返回到新站点中进行启用该主题。

2、文件,把uploads文件夹下的所有文件都转移到“2”这个文件夹下即可。

二、数据库的转移

也许我们会想到用WP自身的导入与导出工具,把所有文章全部导出,再导入到新的站点,如果文章多,导出的XML文件好几M,导入的时候会耗费太长的时间,那就让人头痛了。所以我们推荐大家把原数据库导出,然后导入到新的站点。

1、导出原博客中的数据

打开 phpMyAdmin,导出原博客中的数据为.sql文件,数据表如下:

wp_commentmeta
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
wp_usermeta
wp_users

a、用文本编辑器打开导出的 .sql 文件,使用全局替换功能将其中的”wp_”替换为”wp_2_”(2为新站点的ID,如果ID是3,就写成wp_3_),替换并保存;

b、再将“wp-content/uploads”全局替换为“wp-content/uploads/sites/2”,把媒体文件的路径修改成网络路径。

2、导入修改好的数据库到MU数据库中

现在打开新站点的phpMyAdmin,找到MU数据库,你会发现数据库中有“wp_”和“wp_2_”两个表前缀的数据库,把前缀为“wp_2_”所有的数据删除或重命名,然后导入刚才修改过的 .sql 文件。

3、修正“siteurl”与“home”中的地址(在没有绑定原域名之前)

在MU新创建的站点,域名是newname.Domainname.com这样的二级域名,我们需要把原域名修改成MU中新添加的二级域名,打开wp_options数据表,找到名称为“siteurl”与“home”两个数据,修改其中的值即可。

有些朋友在使用的过程中发现使用原博客中的wp_options数据会出现问题,如果有问题就不导出原博客中的wp_options数据,使用新站点wp_options数据,然后再设置下新站点。

在后面我们会讲到如果绑定域名,如果绑定了原域名而且使用原博客中的wp_options数据,我们就不需要修改这一步了!

4、修正文章作者

因为修改过的数据库表前缀为“wp_2_”,与之前的是不一样,所以我们需要在MU中把新站点中所有的文章作者指定给MU管理员,可以在phpMyAdmin中的SQL中执行以下代码:

  1. UPDATE wp_2_posts SET post_author = 1

如果新站点的有多个作者,那只有在后台——文章列表中选择同一作者的文章进行批量修改了。

5、修正数据库中的meta_key

我们在前面修改表前缀是全局替换,我们也把一些不需要修改成“wp_2_”这样的数据给修改好,如数据库表 wp_2_postmeta 和 wp_2_usermeta 中的一些meta_key,基本上是以“_wp_”这样的数据表,所以我们需要在替换完成后将其改回原来的值,仍以博客 ID 为2作为例子,在 MU 的数据库中使用下面的 SQL 语句进行修正:

  1. UPDATE wp_2_postmeta SET meta_key = '_wp_2_attachment_metadata' WHERE meta_key = '_wp_attachment_metadata'
  2. UPDATE wp_2_usermeta SET meta_key = '_wp_2_attached_file' WHERE meta_key = '_wp_attached_file'

可能不止这两处地方,根据实际情况再修改回来。

到这里文件与数据的转移基本完成,前往“管理网络”后台中将插件与主题启用,新的站点就可以使用了。

如何把WordPress数据迁移至WordPress MU,首发于蓝月网络。

]]>
WordPress MU多站点网络域名绑定插件Domain Mapping的安装与使用 https://lanyueer.com/wordpress-mu-domain-mapping/ Thu, 18 May 2017 03:06:24 +0000 http://lanyueer.com/?p=900 本文是《WordPress 多站点》系列教程的第 7 部分,该系列共包含以下8个部分:WordPress可以为…

WordPress MU多站点网络域名绑定插件Domain Mapping的安装与使用,首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 7 部分,该系列共包含以下8个部分:

WordPress可以为每个站点绑定不同的域名,这时我们就需要使用WordPress MUDomain Mapping插件来为MU不同的站点绑定不同的域名。

在绑定域名之前我们需要把绑定的域名DNS服务器设置A记录,IP为WordPress MU的服务器IP,如果几个站点都是在同一主机下就略过。

插件的使用步骤如下:
一、在“管理网络”下的插件管理器中搜索并安装WordPress MUDomain Mapping插件,再点击“在整个网络中启用”。二、把插件目录下的sunrise.php文件移动到wp-content文件夹下

三、编辑 wp­config.php 文件,在最后一行 ‘require_once’ 前面添加如下代码:

  1. define( 'SUNRISE', 'on');

最终代码为:

  1. /** 设置 WordPress 变量和包含文件。 */
  2. define( 'SUNRISE', 'on');
  3. require_once(ABSPATH . 'wp-settings.php');

刷新后出现WordPress MUDomain Mapping面板的内容,提示Domain Mapping数据表创建成功,接下来我们就可以设置IP和添加域名了。

四、在“管理网络”中的设置菜单 下有Domain Mapping和Domains 两个菜单。

1、首页在 Domain Mapping中可以设置IP和CNAME,IP 就是你的 WordPress MU安装的空间IP,也就是当前主域名指向的 IP。CNAME设置可选,Domain Options几个选项可根据情况设置,默认也可以。

2、进入Domains菜单中,如下图,分别输入 Site ID 和 Domain,然后保存。保存后新添加的域名会在页面下方列出来,可以再进行编辑和删除。

在新添加域名的站点下“工具——Domain Mapping”会出现上一步设置的域名,当然你也可以在新站点添加域名,效果和上一步类似。五、最后修改新站点的地址,依然在“管理网络”中,找到站点——所有站点,点击需要编辑的站点,如下图:

把域名更改为绑定的域名,其它设置默认,保存更改。

WordPress MU多站点网络域名绑定插件Domain Mapping的安装与使用,首发于蓝月网络。

]]>
WordPress多站点网络插件和主题检测:Network Plugin Auditor https://lanyueer.com/wordpress-network-plugin-auditor/ Thu, 18 May 2017 02:43:29 +0000 http://lanyueer.com/?p=895 本文是《WordPress 多站点》系列教程的第 6 部分,该系列共包含以下8个部分:对于WordPress多…

WordPress多站点网络插件和主题检测:Network Plugin Auditor,首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 6 部分,该系列共包含以下8个部分:

对于WordPress多站点网络,你可能需要了解哪个站点使用了什么主题和插件,建议你试试Network Plugin Auditor插件。

Network Plugin Auditor 专用于多站点模式下,会在你的主题和插件管理界面,显示它们都被哪些站点使用。这样一来,你就可以很快了解,并且不会误删正在使用的主题或插件。

在后台插件安装界面搜索 Network Plugin Auditor 即可现在安装,或者下载 Network Plugin Auditor:

下载 Network Plugin Auditor

WordPress多站点网络插件和主题检测:Network Plugin Auditor,首发于蓝月网络。

]]>
WordPress 关闭多站点模式 https://lanyueer.com/uninstall-wordpress-multisite/ Thu, 18 May 2017 02:38:14 +0000 http://lanyueer.com/?p=894 本文是《WordPress 多站点》系列教程的第 5 部分,该系列共包含以下8个部分:开始之前,你要备份整个数…

WordPress 关闭多站点模式,首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 5 部分,该系列共包含以下8个部分:

开始之前,你要备份整个数据库和所有文件,然后想办法将主站点以外的所有站点的恢复到其他地方,或者分别转到单站点模式。在这里暂时不介绍这个步骤,但是你一定要自己做好!!建议先阅读 WordPress 开启多站点(含Apache和Nginx伪静态规则),因为很多步骤都是反过来的。

1、禁用所有插件,删除主站点以外的所有站点(记得备份或迁移这些站点,删除操作将会删除相关的数据)

2、删除之前添加到 wp-config.php 用来开启多站点的配置代码(类似以下代码:)

  1. define('WP_ALLOW_MULTISITE', true);
  2.  
  3. define('MULTISITE', true);
  4. define('SUBDOMAIN_INSTALL', true);
  5. define('DOMAIN_CURRENT_SITE', 'yourdomain.com');
  6. define('PATH_CURRENT_SITE', '/');
  7. define('SITE_ID_CURRENT_SITE', 1);
  8. define('BLOG_ID_CURRENT_SITE', 1);

这时登录后台你会发现已经回到了单站点模式

3、清除多站点的伪静态规则:如果是Apache环境,请删除之前添加到 .htaccess 的规则代码;如果是 Nginx环境,请删除添加conf配置文件的代码。具体的请查看之前的 WordPress 开启多站点(含Apache和Nginx伪静态规则) 。访问网站后台,重新设置固定链接结构。

4.开启所需插件,到这里应该可以恢复主站点的正常访问了。但还是建议 登录 phpMyAdmin 删除多余的数据库表:

wp_blogs
wp_blog_versions
wp_registration_log
wp_signups
wp_site
wp_sitemeta
以及 wp_users 下的 spam 和 deleted 字段

注:这里举例的是默认的数据库前缀 wp_ ,请根据自己的实际数据库前缀操作。

删除前面6个数据库很简单,直接选中,然后删除即可:

不会操作 phpMyAdmin 的,请先百度下 phpMyAdmin教程。

删除 wp_users 下的 spam 和 deleted 字段,需要进入到 wp_users,然后执行 SQL 命令。

删除 spam 字段:

  1. ALTER TABLE wp_users 
  2. DROP COLUMN spam

删除 deleted 字段:

  1. ALTER TABLE wp_users 
  2. DROP COLUMN deleted

关于删除或添加某个数据库表的字段,可参考 http://www.w3school.com.cn/sql/sql_alter.asp

到这里,一切操作OK!

WordPress 关闭多站点模式,首发于蓝月网络。

]]>
WordPress 多站点网络共享图片媒体文件 https://lanyueer.com/network-shared-media/ Thu, 18 May 2017 02:32:54 +0000 http://lanyueer.com/?p=892 本文是《WordPress 多站点》系列教程的第 4 部分,该系列共包含以下8个部分:说到底,其实多站点网络下…

WordPress 多站点网络共享图片媒体文件,首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 4 部分,该系列共包含以下8个部分:

说到底,其实多站点网络下的这些站点都是相对独立的,可以有自己的分类、文章、主题、插件、媒体库等等,正因为如此,默认情况下,一个站点只能看到上传到该站点的文件,你是没办法直接在媒体库中看到和使用其他站点的文件的(当然,如果你直接通过外部链接添加文件,那就另当别论了),那么如何才能在多站点模式下共享其他站点的文件呢,这个就需要借助 Network Shared Media 插件啦。

安装启用 Network Shared Media 插件以后,在多媒体的上传插入页面,你可以看到多出了“Network Shared Media”标签,然后就可以选择任何一个站点的文件了:


在后台插件安装界面搜索 Network Shared Media 即可在线安装,或者在下面下载:

下载 Network Shared Media

WordPress 多站点网络共享图片媒体文件,首发于蓝月网络。

]]>
WordPress 多站点网络克隆网站数据和设置 https://lanyueer.com/multisite-cloner/ Thu, 18 May 2017 02:26:53 +0000 http://lanyueer.com/?p=889 本文是《WordPress 多站点》系列教程的第 3 部分,该系列共包含以下8个部分:现在,很多主题作者都是用…

WordPress 多站点网络克隆网站数据和设置,首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 3 部分,该系列共包含以下8个部分:

现在,很多主题作者都是用 WordPress 多站点网络来做主题演示站,那就遇到一个数据部署的问题,每次都要重新设置一些基本的选项,导入文章和附件等等,实在是麻烦。今天推荐一个专门解决这个问题的插件 Multisite Cloner ,它可以很方便地将网络中任何一个站点的设置和数据都克隆到另外一个站点,包括设置、文章和其他内容、主题选项和上传的文件等等。

在网络中安装启用 Multisite Cloner 插件以后,在设置界面选择一个站点作为默认站点:

然后在站点列表中,点击站点下的 Clone 即可:

在插件安装界面搜索 Multisite Cloner 即可在线安装,或者在这里下载 Multisite Cloner

下载 Multisite Cloner

WordPress 多站点网络克隆网站数据和设置,首发于蓝月网络。

]]>
添加/移除 WordPress 多站点网络的默认页面 https://lanyueer.com/add-remove-default-pages-in-wordpress-multisite/ Thu, 18 May 2017 02:18:53 +0000 http://lanyueer.com/?p=888 本文是《WordPress 多站点》系列教程的第 2 部分,该系列共包含以下8个部分:在 WordPress …

添加/移除 WordPress 多站点网络的默认页面,首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 2 部分,该系列共包含以下8个部分:

在 WordPress 多站点网络中,只要你新建一个站点,都会自动创建一个默认页面(即“示例页面”)。在某些情况下,这个默认页面不是你想要的,或者说你想修改这个自定义页面的内容,比如引导这个开通站点的用户该做些什么,注意些什么等等。那你可以按照本文教程来实现。

将下面的代码添加在主站点的主题的 functions.php 文件或某个特定插件中:

  1. /**
  2.  * 添加/移除 WordPress 多站点网络的默认页面
  3.  * https://www.wpdaxue.com/add-remove-default-pages-in-wordpress-multisite.html
  4.  */
  5. add_action('wpmu_new_blog', 'wpb_create_my_pages', 10, 2);
  6.  
  7. function wpb_create_my_pages($blog_id, $user_id){
  8.   switch_to_blog($blog_id);
  9.  
  10. // 创建一个新页面
  11.   $page_id = wp_insert_post(array(
  12.     'post_title'     => 'About',
  13.     'post_name'      => 'about',
  14.     'post_content'   => 'This is an about page. Feel free to edit or delete this page.',
  15.     'post_status'    => 'publish',
  16.     'post_author'    => $user_id, // or "1" (super-admin?)
  17.     'post_type'      => 'page',
  18.     'menu_order'     => 1,
  19.     'comment_status' => 'closed',
  20.     'ping_status'    => 'closed',
  21.  ));  
  22.  
  23. // 查找和删除WordPress默认页面'Sample Page'
  24. //如果是简体中文,你可能需要修改'Sample Page'为'示例页面'
  25. $defaultPage = get_page_by_title( 'Sample Page' );
  26. wp_delete_post( $defaultPage->ID );
  27.  
  28.   restore_current_blog();
  29. }

上面的第一段代码是创建了一个标题为“About”,内容为“This is an about page. Feel free to edit or delete this page.”的默认页面;第二段是找到并删除标题为“Sample Page”的默认页面。

添加/移除 WordPress 多站点网络的默认页面,首发于蓝月网络。

]]>
WordPress 开启多站点(含Apache和Nginx伪静态规则) https://lanyueer.com/wordpress-multisite/ Wed, 17 May 2017 07:59:14 +0000 http://lanyueer.com/?p=884 本文是《WordPress 多站点》系列教程的第 1 部分,该系列共包含以下8个部分:WordPress 3.…

WordPress 开启多站点(含Apache和Nginx伪静态规则),首发于蓝月网络。

]]>
本文是《WordPress 多站点》系列教程的第 1 部分,该系列共包含以下8个部分:

WordPress 3.0以上的版本支持直接开启多站点模式,这样一来,你可以在一个后台切换多个站点进行管理。

最近打算折腾一个主题演示站,给每个主题使用独立的子站点来搭建演示,如果是Apache环境,配置就比较容易,但是笔者使用的是 Nginx,花了大量的时间测试了N多网络上的伪静态规则,最终找到了完美的解决方法。下面就分享下Linux下 Apache 和 Nginx 两种环境开启多站点的方法。Windows系统环境直接靠边站吧。

开启网络配置

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

  1. define('WP_ALLOW_MULTISITE', true);

配置多站点模式

刷新网站后台,访问 工具 > 配置网络,根据自己的需要选择“子域名”或者“子目录”模式,然后点击“安装”。

只有新安装的WordPress,并且绑定了域名,这时候才可以选择“子域名”模式。

如果你选择是的“子域名”,安装后,请将下面的代码添加到网站根目录下的 wp-config.php 下:

  1. define('MULTISITE', true);
  2. define('SUBDOMAIN_INSTALL', true);
  3. define('DOMAIN_CURRENT_SITE', 'yourdomain.com');
  4. define('PATH_CURRENT_SITE', '/');
  5. define('SITE_ID_CURRENT_SITE', 1);
  6. define('BLOG_ID_CURRENT_SITE', 1);

如果选择的是“子目录”,则添加:

  1. define('MULTISITE', true);
  2. define('SUBDOMAIN_INSTALL', false);
  3. define('DOMAIN_CURRENT_SITE', 'yourdomain.com');
  4. define('PATH_CURRENT_SITE', '/');
  5. define('SITE_ID_CURRENT_SITE', 1);
  6. define('BLOG_ID_CURRENT_SITE', 1);

添加伪静态规则

Apache 规则

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

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

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^index\.php$ - [L]
  4.  
  5. # add a trailing slash to /wp-admin
  6. RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
  7.  
  8. RewriteCond %{REQUEST_FILENAME} -f [OR]
  9. RewriteCond %{REQUEST_FILENAME} -d
  10. RewriteRule ^ - [L]
  11. RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
  12. RewriteRule ^(.*\.php)$ $1 [L]
  13. RewriteRule . index.php [L]

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

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^index\.php$ - [L]
  4.  
  5. # add a trailing slash to /wp-admin
  6. RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
  7.  
  8. RewriteCond %{REQUEST_FILENAME} -f [OR]
  9. RewriteCond %{REQUEST_FILENAME} -d
  10. RewriteRule ^ - [L]
  11. RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
  12. RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
  13. RewriteRule . index.php [L]

Nginx 规则

服务器使用的是 军哥 LNMP 1.3 安装包配置的。

假设你的网站为 yourdomain.com,那么你可以编辑这个配置文件:

  1. vi /usr/local/nginx/conf/vhost/yourdomain.com.conf

在最后一个 } 的前面添加下面的代码:

  1. #ignored: “-” thing used or unknown variable in regex/rew
  2. rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
  3. if (-f $request_filename){
  4. 	set $rule_2 1;
  5. }
  6. if (-d $request_filename){
  7. 	set $rule_2 1;
  8. }
  9. if ($rule_2 = "1"){
  10. #ignored: “-” thing used or unknown variable in regex/rew
  11. }
  12. rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
  13. rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
  14. rewrite /. /index.php last;

以上的规则对于 子域名 和 子目录 模式都正常使用,但是,如果你选择的是 子域名 模式,还需要找到:

  1. server_name yourdomain.com;

添加一个泛域名 *.yourdomain.com,如下:

  1. server_name yourdomain.com *.yourdomain.com;

保存文件,然后重启服务器:

  1. /root/lnmp restart

然后在你的域名管理那里添加一条泛域名 *.yourdomain.com 解析到主机IP(或者分别解析你即将要使用的子域名到主机IP),这样一来,创建子域名站点时,就可以正常访问了。

附:以下是 Nginx 下最完整的多站点配置代码,实际使用时,请根据自己的实际修改域名及网站目录,同时建议删除含有中文的行:

  1. # 根据自己的实际修改下面的域名
  2. log_format  yourdomain.com  '$remote_addr - $remote_user [$time_local] "$request" '
  3.              '$status $body_bytes_sent "$http_referer" '
  4.              '"$http_user_agent" $http_x_forwarded_for';
  5. server
  6.         {
  7.                 listen       80;
  8.                 # 根据自己的实际修改下面的域名
  9.                 server_name yourdomain.com *.yourdomain.com;
  10.                 index index.html index.htm index.php default.html default.htm default.php;
  11.                 # 注意修改下面的网站目录
  12.                 root  /mnt/wwwroot/yourdomain.com; 
  13.  
  14.                 #include wordpress.conf;
  15.                 #以下是 lnmp 1.0 的 wordpress.conf 规则,也就是上一行 include wordpress.conf 里面的
  16.                 location / {
  17.                     if (-f $request_filename/index.html){
  18.                         rewrite (.*) $1/index.html break;
  19.                     }
  20.                     if (-f $request_filename/index.php){
  21.                         rewrite (.*) $1/index.php;
  22.                     }
  23.                     if (!-f $request_filename){
  24.                         rewrite (.*) /index.php;
  25.                     }
  26.                 }
  27.                 # wordpress.conf 规则 结束
  28.  
  29.                 location ~ .*\.(php|php5)?$
  30.                         {
  31.                                 try_files $uri =404;
  32.                                 fastcgi_pass  unix:/tmp/php-cgi.sock;
  33.                                 fastcgi_index index.php;
  34.                                 include fcgi.conf;
  35.                         }
  36.  
  37.                 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  38.                         {
  39.                                 expires      30d;
  40.                         }
  41.                 location ~ .*\.(js|css)?$
  42.                         {
  43.                                 expires      12h;
  44.                         }
  45.  
  46.                 access_log  /home/wwwlogs/huchangmeng.com.log  huchangmeng.com;
  47.  
  48.                 #ignored: “-” thing used or unknown variable in regex/rew
  49.                 rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
  50.                 if (-f $request_filename){
  51.                     set $rule_2 1;
  52.                 }
  53.                 if (-d $request_filename){
  54.                     set $rule_2 1;
  55.                 }
  56.                 if ($rule_2 = "1"){
  57.                     #ignored: “-” thing used or unknown variable in regex/rew
  58.                 }
  59.                 rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
  60.                 rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
  61.                 rewrite /. /index.php last;
  62.  
  63.         }

修改固定链接结构

主站点

这里说的主站的,默认就是最初安装时的主域名,比如 yourdomain.com

如果是 子域名 模式,你可以直接在这个主站的的 设置 > 固定链接 直接修改即可。

如果是 子目录 模式,主站点的文章都自动在链接中添加了 /blog/,如果你直接在这个子目录站点的 设置 > 固定链接 设置结构,是无法去除 /blog/ 的,而且在 lnmp 环境下,直接修改会自动添加 index.php。

解决办法是,访问 所有站点,点击主站点的编辑:

切换到“设置”标签,找到 Permalink Structure ,在这里直接填写 固定链接结构(比如 /%postname%.html),保存即可。这样就可以去除 /bolg/ ,同时不会添加 index.php,非常完美。

子站点

子站点直接在这个站点的后台 设置 > 固定链接 那里设置即可。

到这里,一切基本的设置都完成啦!

WordPress 开启多站点(含Apache和Nginx伪静态规则),首发于蓝月网络。

]]>