代码之家  ›  专栏  ›  技术社区  ›  handsome

如果url中没有子域,则重定向到www

  •  1
  • handsome  · 技术社区  · 6 年前

    我有

    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?

    1 回复  |  直到 6 年前
        1
  •  2
  •   anubhava    6 年前

    只有在没有子域集的情况下,我怎样才能使该规则添加www?

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

    RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ [NC]
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
    

    请确保在新浏览器中对此进行测试,以避免使用旧缓存。

    正则表达式 ^[^.]+\.[^.]+$ 将任何域与单个点匹配,因此它将跳过子域。