У меня есть сайт, который использует ssl при доступе к поддомену, который, по сути, содержит собственное приложение, в то время как сайт переднего плана присутствует на www, который я не хочу использовать ssl. Так что это позволит:
http://www.domain.com
но если кто-то наберет:
http://secure.domain.com
они вынуждены:
https://secure.domain.com
, который при использовании этого субдомена не разрешает трафик не-ssl.
В настоящее время у меня есть это в моем файле .htaccess:
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
RewriteCond "%{HTTP_HOST}" !^www.* [NC]
RewriteCond "%{HTTP_HOST}" ^([^\.]+).*$
RewriteRule ^(.*)$ https://secure.domain.com/a/login/%1 [R=301,L]
Это работает нормально, но если я затем отредактирую URI для удаления s из https, он все равно загружает страницу, но без ssl.
Если я добавлю:
SSLOptions +StrictRequire
SSLRequireSSL
в начало файла .htaccess, тогда он всегда форсирует трафик к ssl, но это для всех поддоменов, включая www.
Есть ли способ перехватить только трафик без www и заставить его использовать ssl?
EDIT:
уточнить:
Например, если вы находитесь по адресу:
https://secure.domain.com/a/login/test
и изменить URI на
http://secure.domain.com/a/login/test
тогда он все еще загружает страницу, но не использует ssl. Но если я использую
SSLRequireSSL
тогда это вызывает требование для всего сайта, и я не хочу использовать ssl на
http://www.domain.com