简体   繁体   中英

How to redirect from http to https in laravel 5.4

My site is saying 'not secure', I have added Https middleware but i don't understand how will i call it in the controller and i have tried forcesheme in Appserviceprovider but nothing seems to work, i have set the SSL in my domain. Please help.

My HttpsProtocol middleware

<?php
namespace App\Http\Middleware;
use Closure;
class HttpsProtocol {
public function handle($request, Closure $next)
{
  if (!$request->secure() && env('APP_ENV') === 'prod') {
    return redirect()->secure($request->getRequestUri());
  }
  return $next($request); 
}

Kernel.php

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array
     */
    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,

        'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
        'Illuminate\Cookie\Middleware\EncryptCookies',
        'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
        'Illuminate\Session\Middleware\StartSession',
        'Illuminate\View\Middleware\ShareErrorsFromSession',
        // appending custom middleware
        'MyApp\Http\Middleware\HttpsProtocol'

    ];

}

try this way in your htaccess file

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://YOURDOMAIN.COM/$1 [R,L]
namespace App\Providers;

use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        URL::forceScheme('https');
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM