Apache’s mod_rewrite makes it easy to require SSL to be used on your site and to gently redirect users who forget to add the https when typing the URL. Using Apache to redirect http to https will make sure that your site (or a part of it) will only be accessed by your customers using SSL. This is better than using SSLRequireSSL because users often forget to type in the https and will be automatically redirected.
Before you can set up an Apache redirect from http to https, you will need to do the following:
- Make sure your SSL certificate is successfully installed so you can access https://www.yoursite.com (for more information see our Apache SSL Installation instructions)
- Make sure mod_rewrite is enabled in Apache
Now you just need to edit your httpd.conf file or the file where your virtual host is specified and add these lines to redirect http to https:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
In many cases, you can also just add those lines to a file named .htaccess in the folder that you want to redirect http to https.
Now, when a visitor types http://www.yoursite.com/mypage.htm the server will automatically redirect http to https so that they go to https://www.yoursite.com/mypage.htm
Note: You can also redirect a single page from http to http in Apache by using this in your configuration file or .htaccess file:
How to set up a 301 redirect from HTTP to HTTPS with Apache and Nginx If you need to change the URL of a page in search engine results, Google recommends that you use the 301 redirect. This is the best way to ensure that users and search engines are directed to the correct page as well to prevent your website from a traffic loss. Then, Tomcat will redirect any matching url-pattern to the configured port in order to use HTTPS as guarantor of confidentiality in transport. So, if you want to redirect a specific URL, you have to complement connector's configuration with specific application configuration. From Static to Dynamic Description: How can we transform a static page foo.html into a dynamic variant foo.cgi in a seamless way, i.e. Without notice by the browser/user. Solution: We just rewrite the URL to the CGI-script and force the handler to be cgi-script so that it is executed as a CGI program. This way a request to /quux/foo.html internally leads to the invocation of /quux/foo.cgi. To make https work on port 443 -. Redirect, Change URLs or Redirect HTTP to HTTPS in Apache - Everything You Ever Wanted to Know About modrewrite Rules but Were Afraid to Ask.
RewriteEngine On
RewriteRule ^apache-redirect-http-to-https.html$ https://www.yoursite.com/apache-redirect-http-to-https.html [R=301,L]
Originally posted on Sat Feb 20, 2010
Http To Https Redirect
Skip to end of metadataGo to start of metadataHTTP to HTTPS
Scenario :
You want to force people coming to your site to use HTTPS. Either for the entire site or a small sub-section of it.
- Note*
Using mod_rewrite to do this isn't the recommended behavior. See RedirectSSL
Fix :
Entire site (.htaccess) :
Apache Https Rewrite
Note: While the rules you need are the same as above (because the rule above doesn't depend on any of the quirks of rewrite in .htaccess), you will need to ensure that you place this in a .htaccess file in the root of the site you want to apply it against, and to make sure you have the appropriate AllowOverride configuration in your httpd.conf
Apache Sslciphersuite High
Specific Directory
Forward Http To Https Apache Log
Either put the above solution in a .htaccess file in the directory to be affected, or put the URI prefix in the regex itself.