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



我想在动态创建的子域前面添加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/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule (.*) https://example.com/$1 [L,R=301]

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

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

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

[^.]+匹配除点 ( .( 字符之外的一个或多个字符。 %1RewriteCond 反向引用,它提供对分组部分([^.]+)的访问。

最新更新