如何在不使用laravel 5.2中的.htaccess文件的情况下将HTTP流量重定向到HTTPS

时间:2016-09-30 05:42:42

标签: .htaccess http https

我想在不使用laravel 5.2中的.htaccess文件的情况下将HTTP流量重定向到HTTPS? 我怎么能这样做,任何解决方案将不胜感激。

1 个答案:

答案 0 :(得分:1)

$http.get('api/books/delete/'+yourBookId).success(function(data){

    // success 
}). error(function(err){
    // error
});

对于Laravel 5.2,您可以这样做:

创建新的中间件(您可以通过命令if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off"){ $redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $redirect); exit(); } 执行此操作,例如php artisan make:middleware nameMiddleware

在这个中间件(/app/Http/Middleware/nameMiddleware.php)中放了这个:

php artisan make:middleware forceSSL

在/app/http/Kernel.php

中注册您的中间件
<?php

namespace App\Http\Middleware;

use Closure;

class nameMiddleware {

    public function handle($request, Closure $next) {

        if (!$request->secure() && env('APP_ENV') === 'prod') {
            return redirect()->secure($request->getRequestUri());
        }

        return $next($request);
    }

}

将中间件添加到$middlewares = [ ... '\app\Http\Middleware\nameMiddleware' ]; 阵列。

在此之后,您可以将中间件直接添加到$routeMiddleware