如何在我的网站上强制使用HTTPS?我尝试了this答案的解决方案,但由于某种原因,当我通过单击链接访问索引页时(它在将这些代码行添加到.htaccess中之前工作正常),我被重定向到父目录。另外,当我尝试使用HTTP访问我的网站时,它可以让我做到这一点。我错过了什么?使用.htaccess强制HTTPS
回答
使用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?
如果我使用'重定向永久/登录https:// mysite.example.com /登录',它给了我这个错误:'ERR_TOO_MANY_REDIRECTS'。另外,我使用altervista.org来托管我的网站,所以我不知道确切的文件位于哪里。 – sgrontflix
不知道为什么那篇文章似乎暗示使用'.htaccess'中的'Redirect'来执行HTTP到HTTPS重定向 - 这确实会导致重定向循环(除非目标URL是不同的服务器,这不太可能)? (是的,'Redirect'可以在'.htaccess'中使用,但不能用于这个目的。)如果你在'.htaccess'中这样做,那么你需要使用mod_rewrite,因为你需要_need_来检查当前请求是HTTP或已经是HTTPS。 – MrWhite
@ user82217我跟随了[this](https://wiki.apache.org/httpd/RewriteHTTPToHTTPS)链接中的第二个示例,但它似乎也不起作用。有什么建议么? – sgrontflix
- 1. 使用的.htaccess强制HTTP或HTTPS
- 2. 使用.htaccess强制HTTPS请求
- 3. 强制https在htaccess中
- 4. PhalconPHP + .htaccess:如何强制https
- 5. 强制HTTPS与htaccess的www
- 6. 通过htaccess强制https登录用户
- 7. 如何使用htaccess强制使用http- NOT https
- 8. 需要强制http到https,然后强制用户使用htaccess和apache登录
- 9. htaccess文件重定向到强制https
- 10. 强制非www和https通过htaccess
- 11. 通过htaccess的强制所有到https
- 12. 的.htaccess力HTTPS否则强制HTTP
- 13. 在.htaccess中强制HTTPS和WWW
- 14. 强制WCF使用HTTPS
- 15. 强制WWW使用HTTPS
- 16. 强制mod_speling使用https
- 17. 在.htaccess中强制使用WWW和HTTPS(SSL)
- 18. 内容管理系统(CMS)强制SSL/https://使用.htaccess
- 19. 如何正确强制使用https和www .htaccess
- 20. 在子文件夹中强制https不能使用.htaccess
- 21. 使用htaccess将Hash碎片URL强制为https?
- 22. .htaccess规则子域在所有页面上强制使用https
- 23. 强制在.htaccess或httpd.conf中使用子域名的HTTPS
- 24. 使用Flask的before_request强制使用HTTPS()
- 25. 强制HTTPS不起作用
- 26. 在WebFlow中强制使用https
- 27. 如何强制相对URI使用https?
- 28. 使用IIS和ISAPI重写强制HTTPS
- 29. 在Wordpress multisite上强制使用https
- 30. 在nginx上强制使用HTTPS(例外)
听起来像是你有怎样的问题尾部或丢失的斜线由a)该答案和b)您的设置处理。 – arkascha
将'.htaccess'文件的内容添加到您的问题中。 “当我尝试使用HTTP访问我的网站时,我访问索引页面”/“时将其重定向到父目录,它允许我这样做” - 是否重定向? – MrWhite