当我通过在 https 端口上尝试 http 来强制错误 400 时,我得到了 302 找到代码,其中https://myserver/mypage.html我想显示的链接,我必须点击它才能进入页面
我怎样才能跳过这一步并直接重定向到 https:// 链接?
答案1
我认为它可以通过定义静态 ErrorDocument 来工作,例如:
错误文档 400 /redirect_https.txt
并在文档根目录中创建文件 redirect_https.txt,其内容如下:
HTTP/1.1 302 已找到 地址:https://myserver/mypage.html
这种方法可行(甚至尝试过),并向浏览器发送“伪造的”HTTP 重定向
答案2
我认为 400/BadRequest 在这种情况下有点特殊,因为你只是在与服务器谈论错误的协议,而你得到的甚至不是一个有效的 HTTP 响应(尝试:curl -ihttp://我的服务器:443/..没有标题)。
也可以看看: 将错误 400 错误请求重定向到自定义页面时出现问题