Принудительно объединяйте SSL и WWW с помощью htaccess

Я пытаюсь запустить весь свой сайт через https и заставить www.

Я видел ряд решений, которые обеспечивают форсирование либо www, либо https, и даже несколько вместе взятых, но я не могу заставить их работать. Обычно я оказываюсь в цикле перенаправления.

Самое близкое, что у меня есть, это следующее, но это еще недостаточно близко:

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

мне нужноhttps://www.example.com/

http://example.com SUCCESS
https://example.com SUCCESS
http://www.example.com FAIL
https://www.example.com SUCCESS, хотя фактического перенаправления нет.

Спасибо

Обновление
Следующий код успешно выполняет требуемое перенаправление:

RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

RewriteCond %{ENV:HTTPS} on [NC]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
6
задан Jason Varga 3 August 2012 в 18:37
поделиться