Laravel:如何强制HTTPS?

rea*_*ebo 11 .htaccess mod-rewrite https laravel laravel-5.4

我开始开发一个新的大应用程序,这次我正在使用Laravel,这是第一次.

我需要为所有页面强制使用HTTPS,但是从代码或.htaccess开始,这并不重要,但我找不到简单的教程.

官方文档不谈这个问题.

有关信息,我的实际.htaccess是

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

    RewriteEngine On

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

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我的问题是针对Laravel 5的,因为我不知道修改这个.htaccess文件的位置和方式.而且我也问你这是否是Laravel的正确方法,或者Laravel是否有特定的设置来处理HTTP.

因此,请不要关闭我的问题,并尝试更加坚持Laravel特定主题.

如果您可以发布一种简单的方法来修改此文件和/或要在Laravel配置中修改哪些内容以正确处理https.

但简而言之,是的,我想强制每个呼叫在HTTPS上传输.

Mor*_*far 19

您需要将其添加到您的.htaccess文件中:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://YOURWEBSITEDOMAIN/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)

请参阅:http: //www.inmotionhosting.com/support/website/ssl/how-to-force-https-using-the-htaccess-file


Web*_*ion 11

尝试在.htaccess文件中添加此代码.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)


Ami*_*esh 5

boot()当你想用 https 渲染所有 URL 时,最简单的方法是在函数中使用以下代码app/Providers/AppServiceProvider.php

\URL::forceScheme('https');
Run Code Online (Sandbox Code Playgroud)