用于 wordpress 多站点的通配符虚拟主机

wildcard virtualhost for wordpress multisite

我正在为我的本地开发环境使用通配符虚拟主机,如下所示:

ServerAlias *.local
VirtualDocumentRoot "c:/dev/sites/%1/www"

这按预期工作。我在站点文件夹中创建了一个新站点,然后导航到 newsite.local 加载该站点。问题是我使用多站点 Wordpress 配置。所以导航到 subsite.newsite.local 不会加载。我假设这是因为 Apache 将寻找文件夹结构:

c:/dev/sites/subsite.newsite/www

而不是指向域目录:

c:/dev/sites/newsite/www

我的问题是,如何编写 virtualhost 指令,以便任何子域都指向根域?

例如

site.local -> c:/dev/sites/site/www
subsite.site.local -> c:/dev/sites/site/www
subsite-two.site.local -> c:/dev/sites/site/www

我通过查看 mod_vhost_alias 的文档找到了解决方案 https://httpd.apache.org/docs/2.4/mod/mod_vhost_alias.html

从名字末尾开始散列:

ServerAlias *.local
VirtualDocumentRoot "c:/dev/sites/%-2/www"