我正在使用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上加载得很好并且当我手动输入https为url时它加载得很好。但是,只要我将其添加到生产服务器上的路由定义中,404就会显示该页面。
我想也许我的重写很糟糕,但它与我的开发环境完全相同,它按预期工作...只是不在我的prod服务器上。
答案 0 :(得分:1)
问题解决了!
经过几个小时的研究,我终于意识到云火正在引发这个问题。为了修复它,在cloudflare中,我将Crypto-> SSL(带有SPDY)设置更改为“Full”。这花了几分钟才开始,但现在一切正常。