如何创建 RewriteRule 以同时使用主域和子域?

How create RewriteRule to work with both main and subdomain?

我的服务器有IPv6地址,但由于IPv6在某些网络中不能正常工作,我创建了一个只有IPv4地址的子域,它指向与我的服务器相同的IP。这一切都是为了我的 Nextcloud 安装服务。

在服务器上,两个名称(server.org 和子域。server.org)都来自同一目录树。它们都工作正常,除了 RewriteRules。

我在 .htaccess 上有 RewriteRules 来处理 .well-known/carddav 等事情,这些规则在我的主域上工作正常,但不适用于子域。这是 .htaccess 文件:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^\.well-known/host-meta /nextcloud/public.php?service=host-meta [QSA,L]
  RewriteRule ^\.well-known/host-meta\.json /nextcloud/public.php?service=host-meta-json [QSA,L]
  RewriteRule ^\.well-known/webfinger /nextcloud/public.php?service=webfinger [QSA,L]
  RewriteRule ^\.well-known/carddav /nextcloud/remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /nextcloud/remote.php/dav/ [R=301,L]
</IfModule>

我试过将这些 RewriteRules 添加到 /etc/apache2/sites-enabled/subdomain-le-ssl.conf ,但也没关系。我刚收到 404 Not found。

怀特先生的评论提供了答案的线索。

关于 .htaccess 覆盖,“AllowOverride All”行仅在主域的 conf 文件中。当我也将它添加到子域的 conf 文件时,RewriteRules 开始工作。谢谢!