apache - 仅将 SSL 应用于主域 - .htaccess

标签 apache .htaccess redirect mod-rewrite ssl

我们已经从 Hostgator 购买了免费的 SSL。基本上你在升级你的包时得到它。

现在,我们有一个主域 (www.example.com) 和 2 个子域 (www.sub.example.com) & (www.sub.example.com)。

我已经将此代码输入到 .htaccess 中:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

主域工作正常,但是当我想转到子域时,我被重定向到主域 => www.example.com。

我知道这是因为 ^(.*)$ 部分,但最好的解决方案是什么?

我只想将 SSL 连接到主域,将 http 连接到子域。

最佳答案

添加条件以从 https 重定向中排除子域

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?sub\.domain\.com
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

关于apache - 仅将 SSL 应用于主域 - .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040705/

相关文章:

php - 不显示 PHP 错误

.htaccess - AWS负载均衡器: 503 (Service Unavailable: Back-end server is at capacity)

jquery - 为谷歌制作所有传出链接 noindex

cookies - 检测用户是否是第一次访问者,如果是,则重定向到页面,如果不是,则重定向到另一个页面

php - shell_exec() 总是返回空字符串

apache - 避免nodejs和apache的80端口冲突

regex - .htaccess - 递归地将斜杠映射到下划线

asp.net - ASP.NET MVC : Redirect to a view if certain condition is not met

php - 使用 htaccess 重定向 css( Assets )

PHP 不会在 Apache2 上解析 - CentOS 7