2014-12-04 48 views
1

我有一个与我刚刚设置的域添加问题。重定向添加域使用HTTP不HTTPS

我的主域是站点范围的SSL,我有一个.htaccess文件设置为强制所有的http请求到https,这工作正常。

但是,SSL证书仅适用于主域。

如果我尝试访问myadondomain.co.uk或www.myaddondomain.co.uk它工作正常。

如果用户在https网站(如任何谷歌搜索页面)上删除google.co.uk部分并输入该问题(如有人通过错误和电子邮件通知我) myaddondomain.co.uk没有删除https部分网页浏览器,显示有关潜在黑客试图窃取数据的警告。

在谷歌浏览器中,您可以点击高级并继续,当您这样做时,显示mymaindomain.co.uk的内容,地址栏显示myaddondomain.co.uk和划掉的https。

我已经阅读了大量的文章在这里和所有的互联网上,并说已经有我的.htaccess文件设置为重定向mymaindomain http请求到https,但对于我的生活,我不能让它发送任何而不是将http请求的myaddondomain改为http。

这是我在我的主要的public_html文件夹.htaccess文件...

RewriteEngine On 

#Redirect domain and www to HTTPS 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} =mymaindomain.co.uk [OR] 
RewriteCond %{HTTP_HOST} =www.mymaindomain.co.uk 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

#Redirect subdomains to HTTP 
RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} ^(.+)\.mymaindomain\.co.uk [NC] 
RewriteCond %{HTTP_HOST} !=www.mymaindomain.co.uk 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

RewriteRule ^wooden-shapes/([A-Za-z-]+) /wooden-shapes.php?cat=$1 
RewriteRule ^search/([A-Za-z-]+) /search.php?cat=$1 

AddDefaultCharset UTF-8 

ErrorDocument 404 /error404.php 

# Use PHP5 as default 
AddHandler application/x-httpd-php5 .php 

任何帮助将不胜感激,如果需要,我可以提供真正的网络名称。

回答

0
RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{HTTP_HOST} ^(www\.)?yourdomain\.com$ [NC] 
RewriteRule ^$ https://www.yourdomain.com/$1 [R,L] 

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

将这个在您的.htaccess文件在你的顶级目录的最顶端。它的工作对我来说

0

决不重复:

RewriteEngine叙述上

外特定的Apache配置的其中mod容器是必要的。

它可能会有所不同,具体取决于您的托管条件,但在Godaddy共享托管环境&没有通配符SSL,即 - 单个域SSL证书。这是唯一的配置,管理从一个部队中排除附加域HTTPS重定向:

RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(www\.)?ADDON_DOMAIN\.com$ [NC] RewriteRule .* - [L]
#这是为了确保没有其他条件必要导航到附加域#
RewriteCond %{HTTPS} off
#现在已经定义了你的排斥和取得了一定的后应用其逻辑与所有其他URI请求无关,必须重新建立此条件#
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]