Php 如何在laravel 5.4中实现HTTPS
我有一个与OVH(法国)共享主机,我有我的域“让我们加密”证书 然而,在Laravel5.4中,我到处寻找将所有请求从HTTP重定向到HTTPS的方法 我已经找到了一个“.htacces重定向”的解决方案,但我经常在浏览器上出现“太多重定向”错误,特别是在谷歌浏览器上 有人有办法重定向所有 PS:我在共享主机服务器上没有“sudo”权限(只有ssh的用户访问权限)Php 如何在laravel 5.4中实现HTTPS,php,laravel,ssl,https,Php,Laravel,Ssl,Https,我有一个与OVH(法国)共享主机,我有我的域“让我们加密”证书 然而,在Laravel5.4中,我到处寻找将所有请求从HTTP重定向到HTTPS的方法 我已经找到了一个“.htacces重定向”的解决方案,但我经常在浏览器上出现“太多重定向”错误,特别是在谷歌浏览器上 有人有办法重定向所有 PS:我在共享主机服务器上没有“sudo”权限(只有ssh的用户访问权限) 关于,您可以设置'url'=>env('APP\u url','https://localhost),config/app.php中
关于,您可以设置
'url'=>env('APP\u url','https://localhost),config/app.php中的
。这应该可以解决问题。在不修改.htaccess文件的情况下,您可以在Laravel应用程序中强制使用https协议添加:
function boot() {
URL::forceScheme('https');
... your code
}
在您的AppServiceProvider.php
中,除了@Troyer answer之外,我还将下面的代码添加到了我的.htacces中
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example.com%{REQUEST_URI} [NE,L,R]
现在所有对HTTP的请求都被重定向到HTTPS,而不会出现“太多重定向”错误
非常感谢你们的回答
致以最诚挚的问候,如果您希望在不必更改Apache
或Nginx
配置的情况下强制在应用程序的所有URL上使用HTTPS,您需要更新AppServiceProvider
,如下所示:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
if (env('APP_ENV') === 'production') {
$this->app['url']->forceScheme('https');
}
}
}
Thank you@Troyer的可能副本,我在AppServiceProvider中添加了“use illumb\Support\Facades\URL;”,但如果我试图通过删除“https://”来访问我的网站,它不会将我重定向到https。只有当我点击网站中的链接进入登录或关于页面时,重定向到https才有效。有没有办法强制从http重定向到https(我不再需要http)提前感谢您的支持answer@aymanesoft找到了一个非常适合您的问题的答案: