【发布时间】:2014-01-03 19:51:58
【问题描述】:
我希望我网站上的所有链接都使用 HTTPS;但是我不能(出于非技术原因)强迫用户使用 HTTPS。因此,我希望 Laravel 生成的所有 URL 都以“https”为前缀,但我不希望 Laravel 在用户通过“http”访问 URL 时抛出异常。
我有以下路线设置:
Route::get('dashboard', [ 'uses'=>'DashboardController@view' ]);
谁能告诉我如何让 URL::route('dashboard') 返回 URL 的 HTTPS 版本,而无需将我的路由重写为:
Route::get('dashboard', [ 'https', 'uses'=>'DashboardController@view' ]);
或者如何按照第二个示例编写我的路由,但如果通过“http”访问则不会引发异常?
【问题讨论】:
-
我会使用 mod_rewrite stackoverflow.com/questions/4398951/…
-
抱歉 – 确认我没有试图阻止用户通过 HTTP 访问该站点 – 我正在尝试更改
URL::route的响应,使其返回安全链接,而不添加“https” ' 作为路由的参数。 -
嘿,尼尔,我同意。我需要知道如何强制 URL::route 创建安全链接,因为我们的负载均衡器正在执行 HTTPS,然后将请求作为标准 HTTP 传递给我们的服务器。这里的cmets不回答这个问题。希望有人能帮忙!!
-
嗨@Artistan。我深入研究了源代码来看看这个。由于它目前是建造的(或者至少是 3 个月前建造的),所以没有办法做到这一点。现在我会再看一下我们有 4.1 的版本,看看是否有任何变化——或者我是否可以想出一个补丁来提交以允许它。
-
显然有一个服务器配置可以让服务器像 https 一样工作,即使它不是。所以我有一个“修复”,谢谢!