Laravel:如何强制使用 HTTPS?

标签 laravel .htaccess mod-rewrite https 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>

我的问题是针对 Laravel 5 的,因为我不知道在哪里以及如何修改这个 .htaccess 文件。而且我还问你这是否是 Laravel 的正确方法,或者 Laravel 是否有特定的设置来处理 HTTPs。

所以请不要结束我的问题,并尝试更加关注 Laravel 的特定主题。

如果您可以发布一种简单的方法来修改此文件和/或在 Laravel 配置中修改什么以正确处理 https。

但简而言之,是的,我想强制每个调用都在 HTTPS 上传输。

最佳答案

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

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

看到这个:
http://www.inmotionhosting.com/support/website/ssl/how-to-force-https-using-the-htaccess-file

关于Laravel:如何强制使用 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006146/

相关文章:

laravel - Vue 路由器历史模式结合 laravel catch all 重定向 404 header 给出 200 header 状态码

php - 集成/迁移两个 CodeIgniter 应用程序。

wordpress - 将 example.com/uplaod/*/*/*.zip 重定向到 example.com/down.php?file=*.zip

.htaccess 从 URL + 目录中删除 WWW

apache - Mod重写隐藏文件夹

php - 类 App\Http\Controllers\AuthController 不存在 Laravel 5.2

javascript - Laravel 5.5 - CORS GET 请求更改为 OPTIONS

javascript - .htaccess 隐藏 .php 文件扩展名,改为显示/(斜杠)

apache - htaccess 将所有请求重定向到index.php(子文件夹除外)

php - (laravel)使用变量名模型的查询构建器