【问题标题】:HTTP to HTTPS and non-WWW to www with multiple domainsHTTP 到 HTTPS 和非 WWW 到具有多个域的 www
【发布时间】:2015-07-30 16:43:53
【问题描述】:

我在任何地方都找不到答案。

我有一个包含多个域的页面,用于多语言目的,每个域都有一个子域,因此我可以在本地开发 (dev.)

在需要 HTTPS 之前,从 non-WWW 重定向到 WWW 并使用“dev.”在本地工作时一切正常。这是(是)我的 .htaccess:

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

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

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

所以我得到的是:每个非子域都会重定向到 www

现在我需要域 domain1.com 在没有子域时始终重定向到 httpswww,所以 >dev. 仍然可以工作。

例子:

http://domain1.com -> https://www.domain1.com/
http://www.domain1.com -> https://www.domain1.com/
http://www.domain2.com -> http://www.domain2.com/
http://domain3.com -> http://www.domain3.com/
http://dev.domain3.com -> http://dev.domain3.com/
http://dev.domain1.com -> https://dev.domain1.com/

【问题讨论】:

    标签: .htaccess redirect https no-www


    【解决方案1】:

    这应该覆盖它!

    RewriteCond %{HTTPS} !on
    RewriteCond %{HTTP_HOST} ^dev\.domain1\.com
    
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    
    RewriteCond %{HTTP_HOST} ^(?:[^dev]*|dev.+)(\.domain1\.com)
    RewriteRule (.*) https://www%1%{REQUEST_URI}
    
    RewriteCond %{HTTP_HOST} ^domain1.com
    RewriteRule (.*) https://www.domain1.com/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^domain2.com
    RewriteRule (.*) http://www.domain2.com/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^domain3.com
    RewriteRule (.*) http://www.domain3.com/$1 [R=301,L]`
    
    • 列表项

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-22
      • 2014-12-16
      • 2017-11-03
      • 2017-12-28
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      相关资源
      最近更新 更多