使用.htaccess强制HTTPS

时间:2017-06-06 16:23:02

标签: apache .htaccess

如何在我的网站上强制使用HTTPS?我尝试了this回答的解决方案,但出于某种原因,当我通过点击链接访问索引页面时,我被重定向到父目录(在.htaccess中添加这些代码行之前它工作正常)。此外,当我尝试使用HTTP访问我的网站时,它允许我这样做。我错过了什么?

1 个答案:

答案 0 :(得分:1)

使用Apache,您有几种选择 - 包括.htaccess。

看这里:

根据文档,您最好的选择是在非安全VirtualHost内使用Redirect指令:

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>

这是一个.htaccess示例,来自同一个链接:

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

最后,请查看此处了解其他疑难解答提示(例如,忘记'NameVirtualHost *:443'以启用端口443的命名虚拟主机):

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