Redirect to https not working if used with out www

January 30, 2015 3.5k views

I'm using Apache 2.4.7. on Ubuntu 14.04 LTS.
Redirects to https work for all cases (eg. goes to https)

However for one case it does not work: or does not redirect to https site but shows the directory listing. Please advice.

I also tried the answer at but same result.

My .htaccess is:

<IfModule mod_rewrite.c>
RewriteEngine on

# This checks to make sure the connection is not already HTTPS
RewriteCond %{HTTPS} !=on

# This rule will redirect users from their original location, to the same location but using HTTPS.
# i.e. to
# The leading slash is made optional so that this will work either in httpd.conf
# or .htaccess context

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

#RewriteCond %{HTTPS} off
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
2 Answers

I have had success just using:

#redirect www to website root
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#force https 
RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  • This is what I get using your code:


    Maybe because I'm using Serverpilot?

Probably if Serverpilot comes with its own set of redirects

Have another answer? Share your knowledge.