Why SSL on one page?
If you don’t want to move to SSL entirely because you’re afraid to lose your ranking, don’t worry. If you redirect your site with 301 permanent redirects, this does not happen.
Still, there might be some use case to only enable SSL on a specific page. For instance, your site might use a service that doesn’t support SSL/HTTPS. Trying to get that service to start supporting SSL is always the preferred solution. But if you’ve got your mind set on enabling SSL on just one page, you can do so.
The manual solution
You can do this manually as described below.
- Open your preferred FTP software (e.g. FileZilla, CyberDuck)
- Navigate to the root folder of your website
- Find the .htaccess file. In some cases you have to enable the “Show hidden files” option before the file becomes visible
- Open the .htaccess file in a text editor
Then add the following lines above the WordPress redirect rules in your .htaccess file. (Remember: if you are in a subdirectory (website/subsite) you have to add the subsite before the page.)
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteCond $1 /your-page-on-ssl/
RewriteRule ^(.*) https://%{HTTP_HOST}%/$1 [R=301, L]
If you change it to this:
RewriteCond %{REQUEST_URI} !/your-page-on-ssl/
The redirect will not take place on that URL.
If your site is still redirecting, you might have to leave the homeurl and siteurl on http, using safe mode.