Apache 如果存在',则重定向到www;url中没有子域

Apache 如果存在',则重定向到www;url中没有子域,apache,.htaccess,Apache,.htaccess,我有 如果url中没有www,则重定向到www.mysite.com。 问题是,它还将把www添加到子域中 比如说 test.mysite.com将更改为www.test.mysite.com 如果没有子域集,我如何调整该规则以添加www 如果没有子域集,我如何才能使用该规则添加www 设置条件使其仅适用于您的主域: RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

我有

如果url中没有www,则重定向到www.mysite.com。 问题是,它还将把www添加到子域中 比如说

test.mysite.com将更改为www.test.mysite.com

如果没有子域集,我如何调整该规则以添加www

如果没有子域集,我如何才能使用该规则添加www

设置条件使其仅适用于您的主域:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
请确保在新浏览器中进行测试,以避免旧的缓存


Regex
^[^.]+\.[^.]+$
将用一个点匹配任何域,因此它将跳过子域。

有没有办法避免将域添加到规则中(因为两个站点指向同一服务器)请尝试以下操作:
重写cond%{HTTP\u HOST}^[^.]+\.+$[NC]
而不是我答案中的第1行。
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]