Laravel 分页返回 http 而不是 https 的链接

Posted

技术标签:

【中文标题】Laravel 分页返回 http 而不是 https 的链接【英文标题】:Laravel pagination returns links in http and not https 【发布时间】:2017-04-12 20:26:54 【问题描述】:

我在查询中使用->paginate(20); 函数,但唯一的问题是它将返回 http 而不是 https

例如:"next_page_url":"http://www.mysite"

我试图通过在 AppServiceProvider 中添加它来强制我的应用使用 https

public function boot()
    
        if (!\App::environment('local')) 
            \URL::forceSchema('https');
        
    

那么我可以强制 Laravel 返回 https 中的所有链接吗?

【问题讨论】:

可能重复***.com/questions/19967788/… 这不是骗子。有一些与 laravel 分页相关的特定错误不适用于其余的 url/路由逻辑。如果您由于在所问的具体问题上的实际经验而实际上不知道他们是骗子,请不要将问题标记为骗子。 【参考方案1】:

我通过在分页器上设置路径让它工作:

Laravel 5.1+:

$results->paginate();
$results->setPath(''); // Will return ?page=2
// OR
$results->setPath(config('app.url')); // Will return website URL defined in .env file + ?page=

在 Laravel 5.1 之前:

$results->paginate();
$results->setBaseUrl('https://' . Request::getHttpHost() . '/' . Request::path());

我不相信它是最好的解决方案,但解决了我的问题。

Source 1Source 2

【讨论】:

以上是关于Laravel 分页返回 http 而不是 https 的链接的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 中使用错误的 http 请求类型(例如 get 而不是 post)时返回 404

Laravel 控制器返回索引视图而不是 json 响应

Laravel 分页与数据表性能

Laravel Ajax 请求返回整个页面而不仅仅是数据

如何检查是不是在laravel中使用了分页

laravel5.5中添加对分页样式的修改上一页和下一页