【问题标题】:How to redirect from http://domain.com:443 to https://domain.com?如何从 http://domain.com:443 重定向到 https://domain.com?
【发布时间】:2016-09-01 22:15:24
【问题描述】:

我正在尝试设置从 http://domain.com:443https://domain 的重定向。 com.

现在 http://domain.com:443 使用代码将我重定向到 https://400.shtml 301,永久移动

https://domain.com:443https://domain.com 工作正常。 .htaccess 中的这个字符串没有帮助:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L] 

【问题讨论】:

  • 你为什么有一个!在你的第一行?这不是表示它只重定向非 443 的端口吗?
  • 你是对的。无论如何 RewriteCond %{SERVER_PORT} ^443$ 破坏了任何站点访问。
  • 如果这是在 VirtualHost 部分完成的,您是否指定
  • 另外,你不能从 domain.com 转到 domain.com 有什么原因吗?为什么需要在地址栏中指定443端口?

标签: .htaccess redirect https


【解决方案1】:

我正在尝试设置从http://domain.com:443https://domain.com 的重定向。

这毫无意义无论如何

你不能在同一个端口上监听 http 和 https。 443 是 https 的标准端口。侦听端口 443 的网络服务器会期望它收到的第一条消息是设置 https 会话的请求,而不是 http 消息。

即使您决定违背所有明智的建议并将您的网络服务器设置为不在端口 443 上使用 https,因此您可以响应 http://domain.com:443 请求,然后重定向将起作用,但随后 https://domain.com 将无法正常工作这将尝试使用您现在已停止使用 https 的端口 443(https 的默认端口) - 所以这仍然不起作用。

像其他人一样使用端口 80 用于 http 和端口 443 用于 https。您可以根据需要使用不同的非标准端口(例如 8443),但不要将这两个标准端口混在一起 - 这没有意义,它会自找麻烦而且不会工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    相关资源
    最近更新 更多