Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在laravel 5.4中实现HTTPS_Php_Laravel_Ssl_Https - Fatal编程技术网

Php 如何在laravel 5.4中实现HTTPS

Php 如何在laravel 5.4中实现HTTPS,php,laravel,ssl,https,Php,Laravel,Ssl,Https,我有一个与OVH(法国)共享主机,我有我的域“让我们加密”证书 然而,在Laravel5.4中,我到处寻找将所有请求从HTTP重定向到HTTPS的方法 我已经找到了一个“.htacces重定向”的解决方案,但我经常在浏览器上出现“太多重定向”错误,特别是在谷歌浏览器上 有人有办法重定向所有 PS:我在共享主机服务器上没有“sudo”权限(只有ssh的用户访问权限) 关于,您可以设置'url'=>env('APP\u url','https://localhost),config/app.php中

我有一个与OVH(法国)共享主机,我有我的域“让我们加密”证书

然而,在Laravel5.4中,我到处寻找将所有请求从HTTP重定向到HTTPS的方法

我已经找到了一个“.htacces重定向”的解决方案,但我经常在浏览器上出现“太多重定向”错误,特别是在谷歌浏览器上

有人有办法重定向所有 PS:我在共享主机服务器上没有“sudo”权限(只有ssh的用户访问权限)


关于,

您可以设置
'url'=>env('APP\u url','https://localhost),
config/app.php中的
。这应该可以解决问题。

在不修改.htaccess文件的情况下,您可以在Laravel应用程序中强制使用https协议添加:

function boot() {
     URL::forceScheme('https');
     ... your code
}

在您的
AppServiceProvider.php

中,除了@Troyer answer之外,我还将下面的代码添加到了我的.htacces中

RewriteEngine on

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example.com%{REQUEST_URI} [NE,L,R]
现在所有对HTTP的请求都被重定向到HTTPS,而不会出现“太多重定向”错误 非常感谢你们的回答
致以最诚挚的问候,

如果您希望在不必更改
Apache
Nginx
配置的情况下强制在应用程序的所有URL上使用HTTPS,您需要更新
AppServiceProvider
,如下所示:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        if (env('APP_ENV') === 'production') {
            $this->app['url']->forceScheme('https');
        }
    }
}

Thank you@Troyer的可能副本,我在AppServiceProvider中添加了“use illumb\Support\Facades\URL;”,但如果我试图通过删除“https://”来访问我的网站,它不会将我重定向到https。只有当我点击网站中的链接进入登录或关于页面时,重定向到https才有效。有没有办法强制从http重定向到https(我不再需要http)提前感谢您的支持answer@aymanesoft找到了一个非常适合您的问题的答案: