【问题标题】:Htaccess redirecting non-www to wwwHtaccess 将非 www 重定向到 www
【发布时间】:2012-11-16 01:18:27
【问题描述】:

我已经在网上搜索了一个很好的通用 .htaccess 脚本,用于将非 www 重定向到 www,目前我正在使用这个:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

这很好用,但是如果我转到子域 www.将被添加。有没有人有一个很好的重定向 .htaccess 脚本?

【问题讨论】:

标签: .htaccess redirect subdomain


【解决方案1】:

试试这个:

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} !^([^\.]+)\.([^\.]+)\.([a-z]{2,4})$
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

【讨论】:

    【解决方案2】:

    @Vince 如果请求的 url 类似于:

    http://www.abc.example.com

    恕我直言,我认为用你的方法它永远不会被重定向到:

    http://www.example.com

    这个怎么样?

    # Rewrite domain
    RewriteCond %{HTTP_HOST} !^www\.([a-z1-9\-]+)\.([a-z]+)$ [NC] [and]
    RewriteCond %{HTTP_HOST} ([a-z1-9\-]+)\.([a-z]+)$ [NC] 
    RewriteRule ^(.*)$ http://www.%1.%2/$1 [R=301,L]
    

    另外,你们可能会发现这些参考资料很有用:

    https://www.drupal.org/node/93603

    http://www.askapache.com/htaccess/modrewrite-tips-tricks.html

    【讨论】:

      猜你喜欢
      • 2011-04-12
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2017-05-03
      • 2012-10-19
      相关资源
      最近更新 更多