【发布时间】:2014-12-04 22:27:46
【问题描述】:
我刚刚设置的附加域存在问题。
我的主域是站点范围的 SSL,我设置了一个 .htaccess 文件来强制所有 http 请求到 https,这工作正常。
但是,SSL 证书仅适用于主域。
如果我尝试访问 myadondomain.co.uk 或 www.myaddondomain.co.uk 它工作正常。
如果用户在 https 网站(例如任何 google 搜索页面)上删除 google.co.uk 部分并输入 myaddondomain,则会出现问题(因为有人错误地这样做并通过电子邮件通知我) .co.uk 不删除 https 部分的网络浏览器会显示有关潜在黑客试图窃取数据的警告。
在谷歌浏览器中,您可以单击高级并继续,当您这样做时,它会显示来自 mymaindomain.co.uk 的内容,地址栏显示 myaddondomain.co.uk 和划掉的 https。
我已经在这里和整个互联网上阅读了大量帖子,并且如上所述已经设置了我的 .htaccess 文件以将 mymaindomain http 请求重定向到 https,但是对于我的生活,我无法让它发送任何 https 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
任何帮助将不胜感激,如果需要,我可以提供真实的网站名称。
【问题讨论】:
标签: apache .htaccess redirect https