我在一个应用程序中使用Laravel,希望它只使用HTTPS。
在一个视图上,如 https://example.com/p
,我打开一个表单,如下所示:
{{ Form::open(['method' => "POST", "id" => "whatever"]) }}
Laravel将其解析为:
<form method="POST" action="http://example.com/p" accept-charset="UTF-8" id="whatever">
这看起来很不错,但请记住,这是在HTTPS页面上,因此在显示页面时会收到混合内容警告。
更糟糕的是,我配置了我的服务器将HTTP请求重定向到相应的HTTPS资源。这意味着,我的浏览器将表单内容发送到服务器,服务器将其重定向到HTTPS位置。然后浏览器放弃POST请求并向服务器发送常规GET请求,结果与用户之前看到的完全相同的页面。
为什么Laravel填入错误的协议?如何设置正确的协议?