wordpress多站架设指南


在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 配置:

  1. 在宝塔面板中,找到你的网站,然后点击”配置文件”。
  2. 在配置文件中,找到 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;
    }

    # 其他现有配置保持不变
}
  1. 保存配置文件。
  2. 在宝塔面板中重启 Nginx 服务。

注意事项:

  1. 确保 fastcgi_pass 行中的 PHP 版本与你实际使用的版本一致。你可以在宝塔面板中查看你的 PHP 版本。
  2. 如果你的 WordPress 安装不在网站根目录,你需要调整 location / 块中的路径。
  3. 如果你使用了 SSL,确保在 server 块中有正确的 SSL 配置。
  4. 如果你遇到权限问题,可能需要调整 Nginx 的运行用户,使其与 PHP-FPM 的用户一致。
  5. 配置完成后,建议在 WordPress 后台刷新一下固定链接设置。
  6. 如果你的网站使用了缓存插件,可能需要清除缓存以使新的配置生效。

如果在配置过程中遇到任何问题,你可以查看 Nginx 的错误日志(通常在 /var/log/nginx/error.log)或者宝塔面板提供的日志查看功能。如果还有疑问,随时告诉我,我会很乐意提供进一步的帮助。

吐槽一下,初次使用 wordpress 区块编辑器,不太习惯,感觉和notion的逻辑差不多。


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注