当您在 Bitnami WordPress 上构建子目录类型的多站点时

使用AWS上的Bitnami WordPress映像构建计划。

在多点站点中有两种类型。

在WordPress的多站点中,有两种方式可以实现:子域名方式和子目录方式。
如果将日语站点和英语站点统一管理在一个WordPress中,将会出现以下区别。

在子域名方式下

访问网站的URL会变成https://example.com和https://eng.example.com。

如果使用子目录方式的话

(subdirectory method)

会成为类似于 https://example.com 和 https://example.com/eng 这样的感觉。

虽然我对于子目录和子域名方式的优缺点不太清楚,但最近从SEO的角度来看,无论是采用子域名还是子目录方式,似乎并没有太大区别。更倾向于在企业或商品的落地页上设置日文版和英文版的话,可以采用子目录方式;而对于一个企业内部的业务单位建立网站的情况,可以考虑采用子域名方式。这只是我个人的想法,并不确定是否正确。

AMI的选择

当你在创建实例时在AWS市场中搜索WordPress Bitnami,目前(2022/11)会显示大约四个相关的AMI。

在建立一个多地点的WordPress网站时,最好从一开始就使用专门为多站点设计的功能。
我曾经尝试将使用单站点的WordPress网站后期转变为多地点的版本,但是我无法成功地进行构建。

image.png

★三个问题是,有些地方可以同意。
因为一般的用于单页网站的bitnami的WordPress真的非常简单,几乎不需要做任何设置就可以启动,但是对于多站点的情况来说,在启动之前需要一些额外的步骤,并且多站点的WordPress管理方法可能不太直观。嗯,这并不是bitnami的问题…

使用Bitnami Multisite的AMI后,它本身并不能变成多站点。

在以下的URL中,详细介绍了Bitnami多站点设置的方法。
https://docs.bitnami.com/installer/apps/wordpress-multisite/administration/use-directories/
对于选择方法,有A和B两种选项,如果使用的是像AWS的AMI这样的系统软件包,那么应选择A;否则,选择B。

根据下述的命令可知测试的方法。

test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."

实际上执行试试,会有以下这种感觉。在这种情况下,是建议采用方案A的方法。

bitnami$ test ! -f “/opt/bitnami/common/bin/openssl” && echo “方法A:使用系统软件包。” || echo “方法B:独立安装。”
方法A:使用系统软件包。

当您在以后阅读此内容时,可能已经进行了Bitnami和WordPress的更新,因此应该通过URL来确认实际的处理方法,但在本次处理中,需要进行以下文件的更改并重新启动apache。

将installdir/wordpress/wp-config.php文件中的以下部分更改为:
define( ‘SUBDOMAIN_INSTALL’, true ); ⇒ define(‘SUBDOMAIN_INSTALL’, false);

如果是AWS的AMI,installdir通常是/opt/bitnami的bitnami安装文件夹。

安裝目錄/apache2/conf/vhosts/wordpress-vhost.conf文件中的以下部分

  # BEGIN WordPress Multisite
  # Using subdomain network type: https://wordpress.org/support/article/htaccess/#multisite
  RewriteEngine On
  RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  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]
  # END WordPress Multisite

请用下列内容进行替代

  # BEGIN WordPress Multisite
  # Using subfolder network type: https://wordpress.org/support/article/htaccess/#multisite
  RewriteEngine On
  RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  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]
  # END WordPress Multisite

在installdir/apache2/conf/vhosts/wordpress-https-vhost.conf中进行与上述相同的更改。

最后重新启动Apache。
使用sudo installdir/ctlscript.sh重启apache。

通过这个简单的步骤,我的WordPress变成了多站点模式。

bannerAds