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