Я знаю, что это общая тема, но я сделал все возможное, чтобы разрешить ее с помощью решений, которые я нашел в Интернете.Mod_rewrite: принудительно использовать SSL на определенных страницах. Добавить www на незащищенных страницах
У нас есть сертификат, связанный с субдоменом secure.mysite.com, и мы хотим добиться:
Мы должны заставить SSL на следующих путях и их подстраницах:
HTTP: //mysite.com/services [/ .../...] => https://secure.mysite.com/services [/ .../...]
http://mysite.com/ login [/ .../...] => https://secure.mysite.com/login [/ .../...]
http://mysite.com/member [/ ...]/...] => https://secure.mysite.com/member [/ .../...]
http: // mysi te.com/admin [/ .../...] =>https://secure.mysite.com/adminМы хотим, чтобы добавить WWW на всех непереключаемых безопасных путей (все пути, кроме упомянутых выше)
Мы хотим удалить WWW на всех безопасных путей (все те, упомянутые выше)
следующая является то, что я поставил в моей .htaccess-файл, без успеха:
# force HTTPS
RewriteCond %{HTTPS} =off
RewriteRule ^(services|login|member|admin)$ https://secure.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# force HTTP
RewriteCond %{HTTPS} =on
RewriteRule !^(services|login|member|admin)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# remove www from host when HTTPS
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteCond %{HTTPS} =on
RewriteRule^http%2://%1%{REQUEST_URI} [L,R=301]
# add www from host when HTTP
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Zend redirect logic
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Спасибо за ваш ответ! Но результат получается следующим образом: https://secure.www.mysite.com/login. –
Но 'https: // secure.www.mysite.com/login' является правильным? Поскольку он использует HTTPS – anubhava
Прокляните этот кеш! Оказывается, изменения ничего не делают с SSL, он только заставляет www: http://www.mysite.com/login –