Я хотел бы заставить браузер перенаправлять на HTTPS всегда, если кто-то набирает:
http://www.mydomain.com/user or http://www.mydomain.com/user/
Обе из вышеуказанных 2 ссылок должны перенаправить на: https://www.mydomain.com/user
https://www.mydomain.com/user
Прямо сейчасвторая-нижняя строка кода работает правильно:
RewriteRule ^user$ https://www.mydomain.com/user/ [R,QSA]
действительно перенаправит браузер на HTTPS, но если введен http://www.mydomain.com/user/, он не будет перенаправлен на HTTPS.Как мне этого добиться?
http://www.mydomain.com/user/
Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^mydomain.com [NC] RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301] RewriteRule ^user$ https://www.mydomain.com/user/ [R,QSA] RewriteRule ^user/$ public/index.php?var1=x&var2=y [L,QSA]
Используйте эти правила:
Options +FollowSymLinks RewriteEngine on RewriteBase / # force www domain name RewriteCond %{HTTP_HOST} ^mydomain.com [NC] RewriteRule ^(.*)$ http://www.mydomain.com/$1 [L,R=301] # force HTTPS for some pages RewriteCond %{HTTPS} =off [NC] RewriteRule ^user/?$ https://www.mydomain.com/user/ [R=301,L] RewriteRule ^user/$ public/index.php?var1=x&var2=y [L,QSA]
Он будет перенаправлен на HTTPS:
/user
/user/
/user/something-here
Как насчет этого ...
RewriteRule ^user/(.+)/?$ public/index.php?var1=x&var2=y [L,R=301] RewriteRule ^user/?$ https://www.mydomain.com/user/ [L,QSA] RewriteRule ^(.*)/?$ http://www.mydomain.com/$1 [L,R=301]