如何在动态创建的子域前添加 www?

How to add www in front of sub-domain created dynamically?

我想在动态创建的子域前面添加 www。 子域是在cpanel中使用*.example.com创建的,这样用户可以通过前端创建自己的子域。

我已将此代码添加到 .htaccess 中以将我的域定向到 https://www.example.com。但这不适用于子域。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/ [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) https://example.com/ [L,R=301]

如何重写代码,以便在使用 www.subdomain.example.com 时可以指向子域。example.com?不影响我的主域名。我的主域和子域都有 www 重定向。

使用正则表达式匹配子域,并使用RewriteCond backreference重定向回用户:

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com [NC]
RewriteRule ^(.*)$ https://%1.example.com/ [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.([^\.]+)\.example\.com [NC]
RewriteRule (.*) https://%1.example.com/ [L,R=301]

[^\.]+ 匹配除点 (.) 字符外的一个或多个字符。 %1RewriteCond backreference 提供对分组部分 ([^\.]+).

的访问