Помогите с условиями mod_rewrite в htaccess
http://mydomain.ru -> http://www.mydomain.ru
https://mydomain.ru -> https://www.mydomain.ru
http://mydomain.hosting.ru -> http://www.mydomain.ru
https://mydomain.hosting.ru -> https://www.mydomain.ru
Я начал с первых двух. Вроде примеров полно, но мне нужен именно учёт https. Я сделал вот такой вариант по гайдам и документации mod rewrite:
Код:
RewriteCond %{HTTPS} =off
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.mydomain.ru/$1 [R=301,L]
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ https://www.mydomain.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.mydomain.ru/$1 [R=301,L]
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ https://www.mydomain.ru/$1 [R=301,L]
Подскажите пожалуйста решение. Спасибо
Может вы хотите что то такого:
Код:
#redirect all http traffic to https, if it is pointed at /checkout
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/checkout/?.*$
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/checkout/?.*$
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]
это вы себе придумали. На самом деле отработает только первый блок
Цитата: kot_
так в этом то и вопрос ) почему отрабатывает только первый блок? Ведь он не должен отрабатывать, если я захожу по защищённому протоколу