设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 456|回复: 0

如何设置WordPress多站点的完整指南

[复制链接]

307

主题

0

回帖

925

积分

高级会员

积分
925
发表于 2023-12-26 10:51:11 | 显示全部楼层 |阅读模式
    

WordPress是一个非常流行的多功能内容管理系统,2021年39.6%的网站使用了它。该系统的免费和简单的功能使创建网站成为可能,无论技术知识的水平。WordPress为构建一个令人惊叹的网站提供了大量的特性,其中更高级的是WordPress多站点。这个高效的特性使任何WordPress用户都可以为不同的目的创建自己的子站点网络。WordPress多站点取代了多用户版本,允许用户安全地管理他们的模板和设置,而不影响任何其他用户。

<img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/8829843852255905545.jpg“></p> <p>在选择最适合您的网络类型后,填写网络标题和管理电子邮件字段并单击Install按钮。现在,您处于Enabling Network屏幕上。</p>子目录网络类型的步骤:<p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/8618757951539088824.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/8618757951539088824.jpg“></p> <p>打开wp-config.php并在/*上面添加以下常量。快乐的出版。*/,将DOMAIN_CURRENT_SITE替换为您自己的。</p>定义(“多点”,真正的);定义(“SUBDOMAIN_INSTALL”,假);定义(“DOMAIN_CURRENT_SITE”、“local.multisite”);定义(\“ PATH_CURRENT_SITE \“, \“ / \“);定义(\“ SITE_ID_CURRENT_SITE \“, 1);定义(\“ BLOG_ID_CURRENT_SITE \“, 1);如果你的网络运行的是apache web服务器,找到你的。htaccess文件(你可以在这里找到更多信息)。如果没有,只需创建一个新的,并添加以下重写规则:</p> RewriteEngine OnRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]RewriteBase /RewriteRule ^index\.php$ - [L] #在/wp-admin后面添加一个斜杠RewriteRule ^ ([_0-9a-zA-Z -] + /) ?wp-admin $ $ 1 wp-admin / (R = 301 L) RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond % {REQUEST_FILENAME} - dRewriteRule ^ - [L]RewriteRule ^ ([_0-9a-zA-Z -] + /) ? (wp -(内容管理| |包括)。*)2美元[L]重写规则^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]RewriteRule。</p> <p>注意这是一个独立的Nginx设置,Nginx是一个主服务器,而不是Apache。为了让WordPress与Nginx一起工作,你应该配置后端PHP-CGI。在本文中找到更多相关信息:WordPress+Nginx。</p># WordPress多站点子目录规则。被设计为包含在任何服务器{}块中。 地图uri blogname{美元~ ^ (? P /[^ /] + /)文件 /(.*) $ blogpath;} 地图blogname看{美元默认-999; #裁判:https://wordpress.org/extend/plugins/nginx-helper/# include /var/www/wordpress/wp-content/plugins/nginx-helper / map.conf;} 服务器{server_name example.com; 根/var/www/example.com/htdocs;指数index . php; ~ ^(/[^/]+/)?try_files wp-content /博客。dir /看/文件/ 2美元/ wp-includes / ms-files.php吗?文件= 2美元;access_log;log_not_found;马克斯到期;} #避免php readfile ()位置^ ~ /博客。dir {内部;别名/var/www/example.com/htdocs/wp-content/blogs.dir;access_log;log_not_found;马克斯到期;} 如果(!- e request_filename美元){重写/wp-admin$ $scheme://$host$request_uri/ permanent;重写^(/[^/]+)?(/wp-.*) $2 last;重写^(/[^/]+)?(/.*\.php) $2 last;} 位置/ {Try_files $uri $uri/ /index.php?args美元;} 位置~ \.php$ {try_files uri = 404美元;包括fastcgi_params;fastcgi_pass php;} #为静态内容的过期头添加一些规则}子域网络类型的步骤:<p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/901180021523983934.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/901180021523983934.jpg“></p> <p>打开wp-config.php并在/*上面添加以下常量。快乐的出版。*/,将DOMAIN_CURRENT_SITE替换为您自己的。</p>定义(“多点”,真正的);定义(“SUBDOMAIN_INSTALL”,真正的);定义(“DOMAIN_CURRENT_SITE”、“local.multisite”);定义(\“ PATH_CURRENT_SITE \“, \“ / \“);定义(\“ SITE_ID_CURRENT_SITE \“, 1);定义(\“ BLOG_ID_CURRENT_SITE \“, 1);要使用子域配置,必须在DNS中有通配符项或创建新域。通配符DNS记录是DNS区域中的一条记录,它将匹配对不存在域名的请求。它通过使用*作为域名最左边的标签(部分)来指定,例如*.example.com。关于通配符何时匹配的确切规则在RFC 1034中规定了,但这些规则既不直观也不明确。使用10Web,您可以通过域DNS管理轻松添加新域。如果您的网络运行的是Apache,请将这些规则添加到.htaccess文件中(您可以在这里找到更多相关信息)。</p>RewriteEngineRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]RewriteBase /RewriteRule ^index\.php$ - [L]#在/wp-admin后面添加一个斜杠RewriteRule ^wp-admin$ wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond % {REQUEST_FILENAME} - dRewriteRule ^ - [L]RewriteRule ^(wp-(内容|admin|包含).*)$1 [L]RewriteRule ^(.*\.php)$ $1 [L]RewriteRule。index.php [L] <p>如果你的网络运行Nginx web服务器:</p> <p>这是子域网络的Nginx配置文件:</p> map $http_host $blogid {默认-999; #裁判:https://wordpress.org/extend/plugins/nginx-helper/# include /var/www/wordpress/wp-content/plugins/nginx-helper / map.conf; } 服务器{Server_name example.com *; 根/var/www/example.com/htdocs;指数index . php; 位置/ {Try_files $uri $uri/ /index.php?args美元;} 位置~ \.php$ {try_files uri = 404美元;包括fastcgi_params;fastcgi_pass php;} # WPMU文件位置~ ^/files/(.*)$ {try_files wp-content /博客。dir /看/ uri / wp-includes / ms-files.php美元吗?文件= 1美元;access_log;log_not_found;马克斯到期;} #WPMU x-sendfile避免php readfile()位置^ ~ /博客。dir {内部;别名/var/www/example.com/htdocs/wp-content/blogs.dir;access_log;log_not_found;马克斯到期;} #为静态内容的过期头添加一些规则你可以在这里找到更多关于WordPress+Nginx的信息。</p> <p>完成这些步骤后,将要求您再次登录。登录后,你会看到一个多站点的WordPress管理仪表板,而不是常规的WordPress管理仪表板。您已经成功设置了WordPress多站点。现在让我们来探索它的更多特性。</p>管理站点在多站点添加新的子站点<p>添加新的子站点到您的网络去网络管理员>站点部分。</p><p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/1232787922673985411.jpg“><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/1232787922673985411.jpg“></p><p>单击“添加新”按钮并填写添加新子站点的字段。</p> <p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/4144127868627815675.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/4144127868627815675.jpg“></p> <p>单击“添加站点“按钮。您可以在“站点”列表中找到新添加的站点。在WordPress多站点中安装插件和主题与在常规WordPress站点中安装插件和主题类似,不同的是,您必须通过相应的网络管理员>插件和网络管理员>主题进行安装。</p> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/921896721847521835.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/921896721847521835.jpg“></p> <p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/2768863463866922102.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/2768863463866922102.jpg“></p> <p>通过点击Network Activate链接,可以为整个网络激活一个插件或主题。您还可以从单个子站点的仪表板中激活/禁用其子站点的插件或主题。通过选择您喜欢的子站点,您可以从“我的站点”菜单中访问单个子站点的指示板。</p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/2569125431884350346.jpg“><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/2569125431884350346.jpg“></p>用户管理<p>每个常规的WordPress安装都有五个用户角色:管理员、编辑器、作者、贡献者和订阅用户。对于多站点,有一个额外的超级管理员角色。超级管理员拥有多站点网络中所有子站点的管理员权限。它还拥有添加新站点和管理网络设置的权限。要在网络中允许新用户注册,请转到“网络设置”,滚动到“注册设置”,并为“允许新注册”设置启用“用户帐户可以注册”选项:</p><p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/1195500582946323736.jpg“><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/1195500582946323736.jpg“></p><p>当用户在网络的一个单独的子站点注册时,他们将为网络中的所有站点注册。这意味着他们可以轻松地浏览您的子站点并访问所有需要身份验证的页面。这样他们就不需要为多站点网络中的每个站点创建单独的帐户。</p><p>您可以向同一子站点添加不同的用户。为此,请访问网络管理员>站点。然后选择您想要添加用户的子站点,然后单击>编辑>用户选项卡。您可以从现有用户中选择:</p> <p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/1604527952676829283.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/1604527952676829283.jpg“></p> <p>或者您可以创建一个新的用户。</p> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/5022843062428476662.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/5022843062428476662.jpg“></p>为每个子站点添加不同的域<p>首先,您的域名必须指向您的托管服务器。为此,您必须使用DNS配置。然后,您可以打开首选的子站点设置并编辑站点地址(URL)。</p> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/5412753017994768494.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/5412753017994768494.jpg“></p>多站点数据库和文件系统结构<p>现在,让我们看看启用WordPress多站点后文件系统和数据库的变化。正如我们所说,WordPress多站点使用单一的WordPress安装,这意味着您的插件和主题文件对于所有网络子站点都是相同的。数据库也是如此。您有一个数据库,其中包含与多站点相关的新表,以及每个子站点带有编号前缀的新表。与常规的WordPress安装相比,文件系统的唯一区别是wp-config.php的变化。我们是根据上面描述的uploads目录的配置和结构来添加它们的。在网络中添加一个新的子站点后,在uploads/sites子目录下创建名为subsite数值id的新目录。在多站点激活之后,有6个新表和一些现有表的更改。</p><p>新的表是:</p><p>wp_blogs—记录网络中的所有子站点。</p>blog_id - uniQue数字id为每个博客。Site_id -博客所属的网站id。(参考wp_site表)domain -博客的基域名。路径——博客的路径。注册-博客注册的日期和时间。Last_updated -博客上一次更新的日期和时间。Public—0或1,显示该博客是否是公共的。存档- 0或1,显示博客是否存档。成熟- 0或1,表示该博客是否面向成熟用户。Spam - 0或1,显示该博客是否被滥发。Deleted - 0或1,显示博客是否被删除。Lang_id -博客语言id。<p>wp_blogs_versions -记录每个博客的数据库版本。</p> blog_id -博客的数字id。(引用wp_blogs表)db_version—当前WordPress数据库版本。Last_updated -最后一次升级日期和时间。<p>wp_registartion_log -记录在新站点被激活后注册的用户。</p> ID -唯一号码ID。电子邮件-用户的电子邮件地址。IP -用户的IP地址。Blog_id -博客的数字id。(参考wp_blogs表)date_registered -博客注册日期和时间。<p>wp-注册-记录已注册但未激活的博客数据。当博客被激活时,记录将从这个表中删除,并在wp_blogs中创建。</p> signup_id -唯一的编号。域——博客的基本域。路径——博客的路径。标题——博客的标题。User_login -注册博客的用户名。User_email—用户的电子邮件。注册-注册日期和时间。Activated -激活日期和时间。Active—0或1,显示该博客是否处于活动状态。Activation_key -在电子邮件中用于激活博客的激活键。元数据——关于注册的元数据。<p>wp_site -记录用于安装的一个网络,并且表的结构允许在一个数据库中有多个网络,但是这个特性从未实现过。</p> id -唯一号码id。域——站点的基本域。路径——站点的路径。<p>wp_sitemeta -这个表类似于wp_option表,不同之处在于它用于网络配置。</p> meta_id -唯一的编号。Site_id -站点id。(引用wp_site表)meta_key—选项的键名。Meta_value—选项数据。<p>主站点的数据存储在现有的无编号表中,而附加站点的数据存储在新的编号表中。更多关于多站点数据库结构的信息可以在这里找到。不要在你的插件代码<p>中硬编码表名,我们知道WordPress多站点使用一个单独的数据库,每个子站点都有编号的表。假设我们有两个子站点的网络。在这种情况下,对于一个post表,我们将有wp_posts和wp_2_posts(如果数据库前缀是wp_,即默认前缀)。这意味着我们必须使用全局$wpdb对象,该对象具有前缀成员属性。所以,不是这个</p> $posts = $wpdb->get_results(“ SELECT * FROM wp_posts “);<p>write</p> $posts = $wpdb->get_results(“ SELECT * FROM “。wpdb - >前缀。“文章”);使用switch_to_blog和restore_current_blog函数<p>对网络中不同的子站点特定操作使用这些函数。更多信息请点击switch_to_blog和restore_current_blog。如果你的插件创建了表,确保这些表是为每个站点创建的。为此,你可以在激活插件时使用以下代码:</p> if (is_multisite()) {如果(is_plugin_active_for_network (__FILE__)) { $blog_id = $wpdb->get_col(“ SELECT blog_id FROM “)。wpdb - >前缀。“博客”); Foreach ($blog_ids作为$blog_id) { switch_to_blog ($ blog_id); //为每个站点创建表 create_tables ($ blog_id); restore_current_blog (); }}将特定于子站点的配置存储在子站点选项表(wp_options, wp_2_options,…)中,并将特定于网络的配置存储在wp_site_meta表中。10Web提供了一种在我们的仪表板中自动启用和管理您的多站点的简单方法。您可以轻松地添加/删除网络中的子站点,并将不同的域名指向它们。使用10Web,你可以自动创建WordPress多站点,而不需要任何手动配置。你所需要做的就是勾选复选框“我们应该安装multisite吗?”,然后选择您喜欢的多站点类型:子域或子目录。</p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/7255377269195276862.jpg“><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/7255377269195276862.jpg“></p>管理WordPress多站点与10Web的仪表板<p>你可以通过网络:我的网站列表轻松添加,删除和管理从10Web的仪表板子站点。</p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/818182162028127307.jpg“><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/818182162028127307.jpg“></p><p>添加一个新的子网站只需输入网站地址URL,网站标题,为您的子网站选择一种语言,并设置一个管理电子邮件。您可以使用现有的WordPress用户电子邮件或设置一个新的。然后将创建新用户。填写完字段后,点击添加站点按钮,就完成了!</p> <p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/5411074082253857880.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/5411074082253857880.jpg“></p> 10Web为WordPress多站点提供与普通WordPress站点相同的服务。您可以创建备份、优化映像、运行安全扫描器、点域名、生成证书、使用SEO服务、10Web生成器,最后,为您的网络安装插件和主题。我们已经知道,多站点网络的子站点共享相同的文件系统和数据库。由于我们为整个网络提供备份和安全服务,您可以在下面的图片所示的多站点网络屏幕中找到它们。下面是子目录case,</p><p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/7413849121561446439.jpg“><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/7413849121561446439.jpg“></p><p>,而这里是子域case。</p><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/3974604970041184734.jpg“><img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/3974604970041184734.jpg“></p><p>您可以执行图像优化,使用SEO服务,安装/激活/取消激活插件和主题,并使用10Web构建器为单个子站点构建子站点。在下面的图片中,你会发现子目录用例:</p> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/3856721358976016609.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/3856721358976016609.jpg“></p> <p>这里的站点子域用例:</p> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/6566749677034250243.jpg“> <img class=“aligncenter“ src=“https://www.gv123.net/blog/wp-content/uploads/2022/10/6566749677034250243.jpg“></p> <p>对于托管服务-取决于多站点类型(子目录或子域)-你可以为单个站点或整个网络管理它们。例如,对于子域多站点,您应该为每个子站点指向一个域,但对于子目录,您应该从multisite Network屏幕为整个网络指向一个域。</p>全自动WordPress托管<p>免费测试10Web,并享受安全谷歌云合作伙伴托管的所有好处。<p>免费测试10Web,并享受安全谷歌云合作伙伴托管的所有好处。指向域的过程类似于一个普通的WordPress站点。对于子目录多站点,您可以通过转到多站点网络>托管服务>点域来指向域。对于子域多站点,您必须从“我的站点”列表中选择首选子站点,然后转到托管服务>点域。您必须遵循本文中描述的步骤:如何将域指向10Web。正如你所看到的,WordPress多站点是一个惊人的高级特性,有很多好处。我们希望在阅读完这篇文章后,您可以轻松地创建和管理您自己的网络。如果你有任何问题,你知道该怎么做!你喜欢这篇文章吗?传播这个词!</p>留言取消回复<p>您的电子邮件地址将不会被公布。必选字段标记为*</p> <p>Y我们的电子邮件地址将永远不会被公布或共享。必填字段标记为*</p> <p>COMMENT*</p> <p>NAME *</p> <p>EMAIL ADDRESS *</p> <p>WEBSITE</p> <p>在此浏览器中保存我的姓名、电子邮件和网站,以便下次评论时使用。</p><p></p></p></p>相关帖子WP CLI的最后一个指南,你会需要一个简单的指南,如何创建WordPress自定义用户角色和能力如何转换任何网站到WordPress在三步不编码如何管理多个WordPress网站#10web # WordPress
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|跨境圈导航 ( 粤ICP备19025394号 )

GMT+8, 2024-11-22 11:38 , Processed in 0.058250 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表