Duda, nu trebuia cumva sa faci redirect catre https://... ?
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Aceasta daca vrei ca toate paginile sa foloseasca in mod fortat HTTPS. Pentru redirect fortat doar pe anumite cai:
Pentru o cale anume (/foo spre exemplu, util pentru a forta SSL pe partile administrative si a lasa la liber restul site-ului):
(1) pentru .htaccess sau cazul in care directivele vor fi in interiorul <Directory /path/to/virtual/host/www/root>[...]</Directory>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^foo(.*) https://%{HTTP_HOST}/foo$1
(2) pentru cazul in care directiva va fi in interiorul <VirtualHost [...]>[...]</VirtualHost> dar inafara lui Directory de mai sus:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/foo(.*) https://%{HTTP_HOST}/foo$1
Singura difereta dintre cele doua ((1) si (2)) este faptul ca (2) are un slash in fata lui foo. Iar acum pentru ca ti-am dat totul mura in gura, pune mana pe citit si afla cum implementezi directivele de mai sus pe baza lui <IfModule> (exemplu: <IfModule mod_rewrite.c>chestii, avioane, reguli</IfModule>). Pentru ca la baza sunt programator, nu sysadmin, prefer ca acel config sa fie cat mai programatic, deci nu ma prea inteleg cu un '500 - Internal Server Error' sau erori criptice prin error log pentru situatia in care fac o faza de cartea rebuturilor si uit sa activez mod_rewrite sau mod_ssl.
Spor la configurat.
// Edit: double [ code ] block with the same sh|t ...