Apache 如何允许站点的http和https版本,但将其默认为https?

Apache 如何允许站点的http和https版本,但将其默认为https?,apache,https,Apache,Https,我刚刚在自己的网站上添加了https支持。通常我会在.htaccess文件中添加几行代码以将http重定向到https,但在这种情况下,我希望这两行代码都可以访问。(为什么?它将用户数据存储在IndexedDB中,同一站点的http/https版本无法访问同一数据库,因此我想让用户继续使用包含旧数据的旧http版本。) 那很好,除了一件事。当用户在其浏览器中键入“example.com”时,他需要http://example.com". 要获取https版本,需要显式键入“https://exa

我刚刚在自己的网站上添加了https支持。通常我会在.htaccess文件中添加几行代码以将http重定向到https,但在这种情况下,我希望这两行代码都可以访问。(为什么?它将用户数据存储在IndexedDB中,同一站点的http/https版本无法访问同一数据库,因此我想让用户继续使用包含旧数据的旧http版本。)


那很好,除了一件事。当用户在其浏览器中键入“example.com”时,他需要http://example.com". 要获取https版本,需要显式键入“https://example.com". 有没有办法交换这种行为,所以除非您明确要求http,否则https是默认协议?

默认协议是浏览器的选择,而不是服务器的选择。稍等一下,Chrome/Chrome的下一个版本将会出现,我希望其他人也会效仿


(这使得这个问题“与编程无关”)

您只需重定向即可。详细信息将根据您选择的web服务器(例如Apache与IIS)而有所不同。对于Apache,您可以使用ISP使过程透明。例如:。只有一个站点(不是“不同的版本”),通过两个协议(http和https)中的一个/两个访问。谢谢,但这不是我的问题所在,我不想将http重定向到https,我只希望默认(当用户在浏览器URL栏中键入未指定协议时)为https。要获取https版本,需要显式键入“”-这完全是错误的。1) 如果重定向工作正常,用户无需键入“https”。2) 如果没有重定向,那是你的错。3) 如果您想要一些“魔法”来强制浏览器默认为“https”而不是“http”:谢谢。我的问题是,对于所有浏览器中的所有用户来说,现在是否有某种方法可以让这种神奇变为现实。我知道没有全局http/https重定向-这是故意的,正如我在问题中所写:)