用于多站点安装的子域的子文件夹中的 WordPress

WordPress in a subfolder of a subdomain used for multisite installation

您好,提前致谢!

目前我正在测试一个 Wordpress 设置,因此要改造一个现有的 Wordpress 站点。正如标题所示,结构如下:site.tld 是具有子域设置的多站点。两个子域 sub1.site.tld 和 sub2.site.tld 工作正常,符合预期。现在我想在 sub2.site.tld 的子文件夹中创建第二个 WP 安装。我知道子域基本上是一个子文件夹,但我不想向用户显示这一点。我希望他们看到 sub2.site.tld/subsite1 和 sub2.site.tld/subsite2 等

我想要实现的目标是通过拥有自己的子文件夹让 B2B 客户感到与众不同。但是,主要内容是 'pushed',因此您将从 site.tld 因此进行多站点安装。除了让客户感到特别之外,我实际上还想给他们一个子站点,如果他们愿意,他们可以在不破坏其他数据的情况下销毁该子站点。因此,再次,多站点安装。

到目前为止我做了什么 感谢这里的许多志愿者,我已经做到了很多。目前有效的是什么:

我什至设法开始安装子站点。但是,这是通过 site.tld/sub1/subsite1/

什么不起作用 sub1.site.tld/subsite1 导致 Wordpress“404”错误,指出页面 (subsite1) 不存在。

问题一 查看文件夹结构时,它看起来像这样: 根

所以sub1文件夹中没有.htaccess文件。应该有一个吗?

问题二我 根 .htaccess 仅包含基础知识:

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).*)  [L]
RewriteRule ^(.*\.php)$  [L]
RewriteRule . index.php [L]

而 subsite1 .htaccess 也不包含更多内容:

<IfModule mod_rewrite.c>
RewriteEngine On
# Set the RewriteBase to this directory
RewriteBase /clubs/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Remove the slash before index.php or we end up at root
RewriteRule . index.php [L]
</IfModule>

如何改进这些 .htaccess 文件以便 sub1.site.tld/subsite1 有效?

问题二二 如何改进这些 .htaccess 文件,以便 site.tld/sub1/subsite1 重定向到 sub1.site.tld/subsite1?

问题三 我在子站点 wp-config 文件中有以下代码:

define('WP_HOME','https://sub1.site.tld/subsite1');
define('WP_SITEURL','https://sub1.site.tld/subsite1');

这与这个问题相关吗?

我知道这与 .htaccess 有关,但我无法在大海捞针中找到这根针!我感谢你的帮助!如果你想争论使用子文件夹设置而不是子域设置,我非常愿意协商利弊。

突然想到以下想法:在根目录中安装单个 Wordpress 并在具有子文件夹设置的子域中安装多站点 Wordpress 怎么样?

想出了这个主意:在根目录中安装一个站点,然后将其变成一个多站点(子文件夹设置)。试图将其移动到子域,但也没有成功。我错过了什么?

所以解决了!不幸的是,我真的想多了!我所要做的就是创建一个文件夹,上传 WP 文件就完成了!我很挣扎,因为我在根目录中安装了一个实例并将其移动。它让我在根目录中没有 index.php 和 .htaccess。没必要!