首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Laravel]修改Laravel 使之http,https自适应的方法

[Laravel]修改Laravel 使之http,https自适应的方法

作者头像
用户2353021
发布2020-05-12 10:49:25
1.5K0
发布2020-05-12 10:49:25
举报
文章被收录于专栏:RFFAN实验室RFFAN实验室

我之前一直使用的是http,所以部署lnmpa也无所谓,毕竟全都是http通信的。

最近换到https的时候出问题了。Nginx和Apache是http通信的,而我们和Nginx是https通信的,于是就悲剧了。

那些写明了绝对网址路径的都会生成http而不是https。(这可能是lnmpa的配置造成的,有时间我在研究研究。)

于是就有2种方法来兼容这个蛋疼的https和http。

1、修改服务器的反代配置

这个也蛋疼。给Apache加上SSL,然后端口还不能使用443,只能找其他的例如14430(大点以防系统应用冲突)

然后Nginx反代访问的时候,使用https协议。

实践证明这个工作量太大了。而且lnmp的默认脚本是http的。以后新建网站没有ssl的时候又要改回来,麻烦。

2、直接修改程序文件,兼容http和https

最简单的方法,是在他url生成之后,用str_replace 这个玩意把”http:”给去掉,显然我也是这么做的。然后,轻松的搞定了。

Laravel修改文件是helper.php 这个文件

function url($path = null, $parameters = [], $secure = null)
{
    if (is_null($path)) {
        return str_replace("http:","",app(UrlGenerator::class));
    }

    return str_replace("http:","",app(UrlGenerator::class)->to($path, $parameters, $secure));
}

函数已经被我改成酱紫了。而且没有修改核心,应该不会出啥问题。不过可能有一点,对老浏览器支持不太好~所以老浏览器就放弃挣扎吧。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-01-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档