使用 laravel 重定向 https

Redirect https with laravel

我建立了一个网站,我想将 http(本地)重定向到 https(在线使用)。我尝试使用中间件,使用 AppServiceProvider.htacessRouteServiceProvider 但它没有用。

1、当我使用中间件时

class HttpsProtocol
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (!app()->environment('local')) {
            // for Proxies
            Request::setTrustedProxies([$request->getClientIp()], 
                Request::HEADER_X_FORWARDED_ALL);

            if (!$request->isSecure()) {
                return redirect()->secure($request->path(), 301);
            }
        }

        return $next($request);
    
    }
}

2、当我使用.htances

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>


    RewriteEngine On

    RewriteCond %{HTTPS} !on
    RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
3,当我使用 AppServiceProvider

public function boot()
    {
        if (!app()->environment('local')) {
            $this->app['request']->server->set('HTTPS', true);
            URL::forceScheme('https');
        }
        //
    }
什么时候使用get方法 https://i.stack.imgur.com/XXiRG.png

https://i.stack.imgur.com/4tZz0.png

它创建了另一个 https link 并且可以 运行。 但是当我使用 check slug automatic

https://i.stack.imgur.com/Kv8rh.png

当我使用 Post 方法时

https://i.stack.imgur.com/9vKOD.png

https://i.stack.imgur.com/rAoMD.png 它没有进入 https, 请帮我 ! (对不起,因为我的英语)

只需打开 A​​ppServiceProvider 并添加

\URL::forceScheme('https'); 

在启动函数中。就这些了。

    public function boot()
    {
        \URL::forceScheme('https');
    }