首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess HTTPS主域和通配符HTTP子域+所有非WWW

.htaccess HTTPS主域和通配符HTTP子域+所有非WWW
EN

Stack Overflow用户
提问于 2016-06-21 04:49:39
回答 1查看 134关注 0票数 2

在堆栈溢出上有许多类似的解决方案,如htaccess http to https with www. Without redirecting sub domain

然而,我需要的是:

  • 主域HTTPS +非WWW
  • 所有子域的通配符HTTP,而不是一个接一个地添加。

我正在运行一个WordPress多点网站,没有通配符SSL。

我现正使用以下方法:

非WWW

代码语言:javascript
复制
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} www.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

非WWW和非HTTPS子域

代码语言:javascript
复制
    RewriteEngine On
    RewriteCond %{HTTPS} off

    RewriteCond %{HTTP_HOST} !=subdomain1.main.com
    RewriteCond %{HTTP_HOST} !=subdomain2.main.com
    RewriteCond %{HTTP_HOST} !=subdomain3.main.com
    RewriteCond %{HTTP_HOST} !=subdomain4.main.com

SSL

代码语言:javascript
复制
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
EN

回答 1

Stack Overflow用户

发布于 2016-06-21 08:17:09

这是你想要的吗?

代码语言:javascript
复制
RewriteEngine On
RewriteBase /

# www is redirected to base domain
RewriteCond %{HTTP_HOST} ^www\.([^\.]+\.[^\.]+)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

# base domain should use HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^[^\.]+\.[^\.]+$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]

# other domain should use HTTP
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^[^\.]+\.[^\.]+$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37935805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档