我是一个拥有自定义域名的青铜帐户。我配置了一个secure
子域,使用SSL证书,该证书工作正常。但是,我想在根域强制HTTP(即,没有SSL)。但是,当我浏览到https://example.com
时,我将获得属于example-myuser.rhcloud.com
的共享SSL证书。
如何为除secure
以外的所有子域禁用HTTPS?
我的别名设置为:
Alias Has Certificate? Certificate Added
--------------------- ---------------- -----------------
example.com no -
secure.example.com yes 2014-07-26
www.example.com no
如您所见,我有一个域(安全)配置为使用SSL证书。
我的尝试是遵循以下htaccess规则,但它们不起作用。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# disable https on the root
RewriteCond %{SERVER_PORT} 443
RewriteCond %{HTTP_HOST} ^example\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example\.com [NC]
RewriteRule (.*) http://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
答案 0 :(得分:2)
你很接近,但SERVER_PORT
是错误的方式继续使用OpenShift(see here)。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# disable https on the root
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteCond %{HTTP_HOST} ^example\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example\.com [NC]
RewriteRule (.*) http://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]