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

http和https非www的htaccess重定向

  •  15
  • Don  · 技术社区  · 16 年前

    • http://example.com 重定向到: http://www.example.com
    • https://example.com https://www.example.com

    http://whatever.example.com 不附加类似www的内容 http://www.whatever.example.com .

    2 回复  |  直到 13 年前
        1
  •  36
  •   Gumbo    16 年前

    试试这个规则:

    RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
    RewriteCond %{HTTPS}s ^on(s)|
    RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    1. 第一个条件测试HTTP头字段 主办 具有所需格式(仅包含一个句点)。
    2. 第二个条件测试 变量(值) on 和 off s (也是如此 ons offs )等于 ons 并捕获 s . 这意味着如果 %{HTTPS}s 评估为 ,第一个匹配组为 s
    3. 该规则将匹配所有请求,因为每个字符串都有一个开头(标记为 ^ )并将其重定向到的评估值 http%1://www.%{HTTP_HOST}%{REQUEST_URI} 如果两个条件都为真。哪里 %1 是前一个条件的第一个匹配组( s 如果为空,则为空, %{HTTP_HOST} 是HTTP吗 主办 %{REQUEST_URI} 是请求的绝对URL路径。
        2
  •  2
  •   pix0r    16 年前

    RewriteCond

    RewriteCond %{HTTPS} on
    
    推荐文章