在wp-config.php文件中添加这一行
define('WP_ALLOW_MULTISITE', true);
然后进入网站后台-工具-配置网络
我这里用的子目录方式
确定后会提示将如下代码加入wp-config.php:
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'aibox.top' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
/* That's all, stop editing! Happy publishing. */
关键的来了,下面这一环节,系统不会提示,宝塔面板默认采用 Nginx 服务,我们不使用 .htaccess
文件,而是直接修改 Nginx 的配置文件。以下是针对 WordPress 多站点(子目录模式)的 Nginx 配置:
- 在宝塔面板中,找到你的网站,然后点击”配置文件”。
- 在配置文件中,找到
server
块,并将以下代码添加到其中:
server {
# 其他现有配置保持不变
# WordPress 多站点规则
location / {
try_files $uri $uri/ /index.php?$args;
}
# 添加 X-Frame-Options 头以提高安全性
add_header X-Frame-Options "SAMEORIGIN" always;
# 多站点 URL 重写规则
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*\.php) $2 last;
}
# PHP 处理
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/tmp/php-cgi-74.sock; # 根据你的PHP版本调整
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
# 禁止访问 . 文件
location ~ /\. {
deny all;
}
# 其他现有配置保持不变
}
- 保存配置文件。
- 在宝塔面板中重启 Nginx 服务。
注意事项:
- 确保
fastcgi_pass
行中的 PHP 版本与你实际使用的版本一致。你可以在宝塔面板中查看你的 PHP 版本。 - 如果你的 WordPress 安装不在网站根目录,你需要调整
location /
块中的路径。 - 如果你使用了 SSL,确保在
server
块中有正确的 SSL 配置。 - 如果你遇到权限问题,可能需要调整 Nginx 的运行用户,使其与 PHP-FPM 的用户一致。
- 配置完成后,建议在 WordPress 后台刷新一下固定链接设置。
- 如果你的网站使用了缓存插件,可能需要清除缓存以使新的配置生效。
如果在配置过程中遇到任何问题,你可以查看 Nginx 的错误日志(通常在 /var/log/nginx/error.log
)或者宝塔面板提供的日志查看功能。如果还有疑问,随时告诉我,我会很乐意提供进一步的帮助。
吐槽一下,初次使用 wordpress 区块编辑器,不太习惯,感觉和notion的逻辑差不多。