Laravel 4.2 Route HTTPS 在服务器上不起作用
Posted
技术标签:
【中文标题】Laravel 4.2 Route HTTPS 在服务器上不起作用【英文标题】:Laravel 4.2 Route HTTPS not working on server 【发布时间】:2016-01-14 15:28:34 【问题描述】:我使用的是 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。
我认为我的重写可能很糟糕,但它与我的开发环境完全相同,可以按预期工作......只是不在我的产品服务器上。
【问题讨论】:
您是否尝试清除服务器上的缓存? 看来是云闪的问题,我会在下面添加分辨率 【参考方案1】:问题解决了!
经过几个小时的探索和研究,我终于意识到是 cloudflare 导致了这个问题。为了修复它,在 cloudflare 中,我将 Crypto->SSL (with SPDY) 设置更改为“Full”。这需要几分钟才能启动,但现在一切正常。
【讨论】:
以上是关于Laravel 4.2 Route HTTPS 在服务器上不起作用的主要内容,如果未能解决你的问题,请参考以下文章