Remove index.php from the URL in Laravel

Laravel 8 , Laravel 7 , Laravel , Laravel 6

Nicesnippets

1136

14-07-2021


Hi Guys,

In this example,I will learn you how to remove index.php from url in laravel.you can easy nad simply remove index.php from url in laravel.

i will give you simple solution as bellow that will works with any server link digitalocean, aws, go-daddy etc. so let's see bellow solution.

app/Providers/RouteServiceProvider.php


<?php

namespace App\Providers;

use Illuminate\Cache\RateLimiting\Limit;

use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\RateLimiter;

use Illuminate\Support\Facades\Route;

use Illuminate\Support\Str;

class RouteServiceProvider extends ServiceProvider

{

/**

* The path to the "home" route for your application.

*

* This is used by Laravel authentication to redirect users after login.

*

* @var string

*/

public const HOME = '/home';

/**

* Define your route model bindings, pattern filters, etc.

*

* @return void

*/

public function boot()

{

$this->removeIndexPHPFromURL();

$this->configureRateLimiting();

$this->routes(function () {

Route::prefix('api')

->middleware('api')

->namespace($this->namespace)

->group(base_path('routes/api.php'));

Route::middleware('web')

->namespace($this->namespace)

->group(base_path('routes/web.php'));

});

}

/**

* Write code on Method

*

* @return response()

*/

protected function removeIndexPHPFromURL()

{

if (Str::contains(request()->getRequestUri(), '/index.php/')) {

$url = str_replace('index.php/', '', request()->getRequestUri());

if (strlen($url) > 0) {

header("Location: $url", true, 301);

exit;

}

}

}

/**

* Configure the rate limiters for the application.

*

* @return void

*/

protected function configureRateLimiting()

{

RateLimiter::for('api', function (Request $request) {

return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());

});

}

}

Create Route

Route::get('/contact-us', function () {

dd('Contact Us');

});

now if you open url like bellow then:

https://example.com/index.php/contact-us

will redirect to:

https://example.com/contact-us

It will help you...