首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有通配符子域的Apache重写

带有通配符子域的Apache重写
EN

Stack Overflow用户
提问于 2014-02-04 18:35:38
回答 1查看 2.8K关注 0票数 3

我正在尝试使用RewriteEngine在Apache中设置SSL重定向,它将执行以下操作:

  • 将流量重定向到http://mydomain.comhttp://www.mydomain.com以使用HTTPS
  • 将通信量重定向到任何其他子域.mydomain.com,以使用HTTP而不是HTTPS

我的理由是,在启动之前,我正在开发一个使用免费SSL证书的项目。此证书涵盖基本域,但没有一个通配符子域,每次访问其中一个子域时,都需要绕过警告是很痛苦的。

编辑:我相信我离这里很近了,但是我仍然不能让HTTPS重定向到HTTP来正常工作。

代码语言:javascript
复制
RewriteEngine on
# Redirect domain and www to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} =mydomain.com [or]
RewriteCond %{HTTP_HOST} =www.mydomain.com
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect wildcard subdomains to HTTP
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-04 20:30:32

弄明白了。通过将这些规则从网站可用/默认文件移到网站根目录中的.htaccess中,我能够正常工作。

代码语言:javascript
复制
RewriteEngine on
# Redirect domain and www to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} =mydomain.com [or]
RewriteCond %{HTTP_HOST} =www.mydomain.com
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Redirect wildcard subdomains to HTTP
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !=www.mydomain.com
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21560603

复制
相关文章

相似问题

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