sgrontflix
sgrontflix

Reputation: 91

Force HTTPS using .htaccess

How can I force HTTPS on my website? I tried the solution from this answer, but for some reason I get redirected to the parent directory when I visit the index page by clicking on a link (it worked fine before adding those lines of code in .htaccess). Also, when I try to visit my website using HTTP, it lets me do it. What am I missing?

Upvotes: 0

Views: 59

Answers (1)

paulsm4
paulsm4

Reputation: 121649

With Apache, you have several alternatives - including .htaccess.

Look here:

Per the documentation, your best bet is to use a Redirect directive inside the non-secureVirtualHost:

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName mysite.example.com
   DocumentRoot /usr/local/apache2/htdocs
   Redirect permanent /secure https://mysite.example.com/secure
</VirtualHost>

<VirtualHost _default_:443>
   ServerName mysite.example.com
   DocumentRoot /usr/local/apache2/htdocs
   SSLEngine On
# etc...
</VirtualHost>

Here is an .htaccess example, from the same link:

 Redirect permanent /login https://mysite.example.com/login

Finally, look here for additional troubleshooting tips (for example, forgetting 'NameVirtualHost *:443' to enable Named virtual hosting for port 443):

Why might Apache ignore a virtual host with a ServerName matching the requested URL?

Upvotes: 0

Related Questions