html - 将不正确的 URL 重定向到 HTTPS 站点的方法?

标签 html apache http https

我已经建立了一个网站:

https://foo.com

如果流量来自以下网址,我会喜欢它:

http://foo.com
http://www.foo.com
https://www.foo.com

会自动重定向到那里。也就是说,如果有人在他们的浏览器中键入下面三个 URLS 之一,我希望它立即将显示的 URL 更改为 https://foo.com 并且我想收到一个 HTTPS 请求https://foo.com 在服务器上,就像这个人输入了 https://foo.com 一样。

哪种方法最好?我正在使用 Apache。

此外,SSL 证书是为 foo.com 而不是 www.foo.com 签名的,是否可以实现从 https://www 的重定向.foo.com 没有发出证书警告?还是我需要为 www.foo.com 获取第二个证书?

最佳答案

所有非 SSL 站点在您的 vhost 文件或 .htaccess 文件中使用重写重定向都没有问题(假设您有 *.foo.com 作为 foo.com 的服务器别名)。

每个拼写错误的 ssl url 都需要一个证书,否则当人们尝试连接到它们时,它们会出现证书错误。完成后,您可以重定向它们。

假设设置了服务器别名并且启用了 mod_rewrite,这里是您需要的重写规则:

RewriteRule (.*) https://foo.com/$1 [R=301,L]

关于html - 将不正确的 URL 重定向到 HTTPS 站点的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11975821/

相关文章:

发出跨域 GET 请求并将其分配给变量的 javascript

java - 如何从服务器向客户端编写答案(Java,HTML)

http - 如何在使用 `stream_to` 选项时限制 HTTPoison 或 hackney 传输响应的速率

html - 为什么我的折叠边距代码不起作用?

javascript - 表行上的 jQuery 可排序无法移动

apache - 在 htaccess 中将所有页面从非 www 重定向到 www

apache - Apache : Could not find platform independent libraries <prefix> 上的 mod_wsgi

javascript - 如何让子页面的弹出框不能覆盖父页面的 mask 层

java - Jsoup formElement.submit().post() 未提交指定的值

php - 在 Windows Server 2012 R2 上安装 XAMPP 时出现 UAC "missing write permissions"错误