אם אתה מחפש דרך להפנות את כל הבקשות שמגיעות אל http://www.yoursite.com אל https://www.yoursite.com , הגעת למאמר הנכון.
ישנן הרבה הצעות , שמסתמכות על htaccess, השיטה הבאה מתבססת על תנאי ה-httpd.conf (ב-Ubuntu זה הקובץ בשם האתר שלך, תחת תיקית /etc/apache2/sites-avilable ).
מה שצריך לעשות הוא פשוט להוסיף את הקטע הבא לפני ההגדרה של ה-Virtual Host דרך פורט 443 :
RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
כך שבסופו של דבר זה נראה כך :
RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] ServerAdmin contact@yourwebsite.com DocumentRoot /var/www/public SSLEngine On SSLCertificateFile /etc/apache2/ssl/mycert.pem SSLCertificateKeyFile /etc/apache2/ssl/mycert.key
הסבר : הוספנו בעצם Virtual Host על פורט 80 כך שכל בקשה שמגיעה אליו תנותב דרך התנאי RewriteCond אל https בפורט 443.
כמובן שצריך בסוף לעשות Restart לשירות ה-Apache
sudo service apache2 restart
בהצלחה!
מקור : http://blog.edwards-research.com/2010/02/force-apache2-to-redirect-from-http-to-https/