htaccess force https& www到非www,但子域只有https

时间:2016-11-28 12:02:30

标签: apache .htaccess redirect ssl

我有两个网站

  1. yourdomain.com
  2. reseller.yourdomain.com
  3. 现在我想强制两个域通过apache htaccess redirect使用https。除此之外,主域应该始终使用www而不是非www。但子域reseller.yourdomain.com当然不应该使用www。

    重定向应该如何?我尝试了很多像

    这样的东西
    RewriteEngine on
    RewriteCond %{HTTPS} !^on
    
    RewriteCond %{HTTP_HOST} !^reseller\.yourdomain\.com [NC]
    
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    

    这不是100%,主域名正确地重定向到www和ssl,subomdain的ssl-redirect仅适用于reseller.yourdomain.com,而不适用于reseller.yourdomain.com/single-page等子站点。

    谢谢!

1 个答案:

答案 0 :(得分:0)

尝试这样,

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^yourdomain.com
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(.+)\.yourdomain.com$
RewriteRule ^ https://%1.yourdomain.com [R=301,L]