Laravel 4.2 路由 HTTPS 在服务器上不工作
Laravel 4.2 Route HTTPS not working on server
我正在使用 laravel 4.2 并且我决定在我的路由创建中添加 http 或 https 密钥,如此处的文档所示:
http://laravel.com/docs/4.2/routing#basic-routing
文档中的示例显示:
Route::get('foo', array('https', function()
{
return 'Must be over HTTPS';
}));
我在我的代码中进行了调整,因为我正在使用控制器方法路由到:
Route::get ('/account', array('https', 'as' => 'account-get', 'uses' => 'AccountController@getIndex'));
这就是奇怪的地方。在我的开发服务器上,这工作得很好。该路由生成正确的 url 并加载页面。
但是,在我的生产服务器上,路由产生了正确的 url,但是当我点击它时,我收到了 404 错误。
另一个有趣的事情是,如果我从路由中删除 'https',它在 http 上加载得很好,当我为 url 手动输入 https 时它加载得很好。但是一旦我将它添加到我的生产服务器上的路由定义中,该页面就会显示 404。
我认为我的重写可能很糟糕,但它与我的开发环境完全一样,按预期工作...只是不在我的生产服务器上。
问题已解决!
经过几个小时的探索和研究,我终于意识到是 cloudflare 导致了这个问题。为了修复它,在 cloudflare 中,我将 Crypto->SSL(带 SPDY)设置更改为 "Full"。这需要几分钟才能开始,但现在一切都按预期进行。
我正在使用 laravel 4.2 并且我决定在我的路由创建中添加 http 或 https 密钥,如此处的文档所示: http://laravel.com/docs/4.2/routing#basic-routing
文档中的示例显示:
Route::get('foo', array('https', function()
{
return 'Must be over HTTPS';
}));
我在我的代码中进行了调整,因为我正在使用控制器方法路由到:
Route::get ('/account', array('https', 'as' => 'account-get', 'uses' => 'AccountController@getIndex'));
这就是奇怪的地方。在我的开发服务器上,这工作得很好。该路由生成正确的 url 并加载页面。
但是,在我的生产服务器上,路由产生了正确的 url,但是当我点击它时,我收到了 404 错误。
另一个有趣的事情是,如果我从路由中删除 'https',它在 http 上加载得很好,当我为 url 手动输入 https 时它加载得很好。但是一旦我将它添加到我的生产服务器上的路由定义中,该页面就会显示 404。
我认为我的重写可能很糟糕,但它与我的开发环境完全一样,按预期工作...只是不在我的生产服务器上。
问题已解决!
经过几个小时的探索和研究,我终于意识到是 cloudflare 导致了这个问题。为了修复它,在 cloudflare 中,我将 Crypto->SSL(带 SPDY)设置更改为 "Full"。这需要几分钟才能开始,但现在一切都按预期进行。