【发布时间】:2019-01-10 05:16:46
【问题描述】:
我们定义了一个简单的路由,如下所示:
路线
// Home
Route::get('/home', [
'as' => 'home::index',
'uses' => 'IndexController@home'
]);
查看
<a href="{{ route('home::index') }}">Home</a>
我们需要在视图中强制我们的链接/路由呈现为 HTTP 或在某些情况下呈现为 HTTPS 路由,例如http://host.domain/home 或 https://host.domain/home。
我们不能使用URL::forceSchema("http") 或URL::forceSchema("https"),因为我们需要在 HTTP 页面上强制使用 HTTPS,在 HTTPS 页面上强制使用 HTTP。我们有一个多域应用程序。一些通过 HTTP 运行的域,一些通过 HTTPS。可以在任何地方放置指向不同域/“应用程序部分”的链接。通过 HTTPS 运行的域无法通过 HTTP 访问。在 HTTP 上运行的域无法通过 HTTPS 访问
如何强制将路由呈现为特定的超文本协议?
【问题讨论】:
-
@Heyne 在将问题标记为重复之前,请仔细阅读问题并检查您标记为重复的问题。您标记的答案并不能以任何方式解决此问题。
-
你如何决定应该使用哪个模式?这似乎不是与视图相关的逻辑。我猜你希望路由回调在通过 http 或 https 调用时产生两种不同的响应,对吗?
-
@Nima 我们有一个多域应用程序。一些通过 HTTP 运行的域,一些通过 HTTPS。可以在任何地方放置指向不同域/“应用程序部分”的链接。通过 HTTPS 运行的域无法通过 HTTP 访问。在 HTTP 上运行的域无法通过 HTTPS 访问。
-
我认为您可以强制仅通过 http/https 提供路由,这将成为路由的属性,并在生成路由的 url 时使用。这能解决你的问题吗?
-
@Nima 是的,这将解决我们的问题。
标签: php laravel https url-routing laravel-4.2