I have a shared hosting with OVH(France) and i have the \"Let\'s Encrypt\" certificate for my domain.
however, i looked everywhere for redirecting all requests from HTTP
in addition to @Troyer answer, i added the code below to my .htacces
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example.com%{REQUEST_URI} [NE,L,R]
and now all request to HTTP are redirected to HTTPS without the "TOO_MANY_REDIRECT" errors thank you very much guys for your answers best regards,
You can set 'url' => env('APP_URL', 'https://localhost'),
in config/app.php
. That should do the trick.
Without modify the .htaccess file, you can force the https protocol in your Laravel application adding:
function boot() {
URL::forceScheme('https');
... your code
}
In your AppServiceProvider.php
.
If you'd like to force HTTPS over all URLs of your app without having to change your Apache
or Nginx
configuration, you need to update your AppServiceProvider
as followed:
<?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');
}
}
}
PS: you can remove the condition if you have SSL enabled on your local development environment.