0

I want most of my site to be http:// but for a single checkout page to be https://

How can I check and switch the user to https:// so there's no chance they can use it with http://?

M Khalid Junaid
  • 63,861
  • 10
  • 90
  • 118
Quadrant6
  • 1,175
  • 2
  • 15
  • 25

2 Answers2

1

You can force SSL for specific URLs using .htaccess rules. In this example, if someone visits any of the register/payment directories, they will be redirected to the https:// URL.

RewriteEngine on

RewriteCond %{SERVER_PORT} 80 
RewriteCond $1 ^(register/payment|login)
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]

RewriteCond %{SERVER_PORT} 443
RewriteCond $1 !^(register/payment|images|css|javascript|login)
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L] 

You can change this according to your needs. Hope this helps.

Amal Murali
  • 75,622
  • 18
  • 128
  • 150
1

You can do it in this way tested and works fine for me

Add this code in your .htaccess file

RewriteEngine On
RewriteCond %{HTTPS} !^on$
RewriteRule ^checkout ? https://myproject.localhost/my_checkout_url [R,L]

Hope it works fine for you also

M Khalid Junaid
  • 63,861
  • 10
  • 90
  • 118