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 在服务器上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

路线在 laravel 4.2 中不起作用

Laravel 4.2中的会话不起作用

Laravel 4.2 走错路了

Laravel 4.2 正则表达式路由约束,失败

在 Laravel 4.2 中强制下载 .xls 文件

Laravel 4.2输入文件空