Search by

fsasvari / laravel-trailing-slash

fsasvari

The package that adds redirection with trailing slash to Laravel framework.

Package info

github.com/fsasvari/laravel-trailing-slash

pkg:composer/fsasvari/laravel-trailing-slash

Statistics

Installs: 177 550

Dependents: 0

Suggesters: 0

Stars: 61

Open Issues: 4

v8.0.1 2026-09-17 10:40 UTC

README

Adds url formatting and redirection with trailing slash to Laravel framework versions 13.x, 12.x, 11.x, 10.x, 9.x, 8.x, 7.x, 6.x and 5.x.

Build For Laravel Latest Stable Version Latest Unstable Version Total Downloads License

Compatibility Chart

Laravel Trailing Slash Laravel PHP
8.x 13.x 8.3+
7.x 12.x 8.2+
6.x 11.x 8.2+
5.x 10.x 8.1+
4.x 9.x 8.0.2+
3.x 8.x 7.3+/8.0+
2.x 7.x 7.3+
1.x 6.x 7.2+
0.3.x 5.7-5.8 7.1.3+
0.2.x 5.6 7.1.3+
0.1.x 5.5 7.0.0+

Installation

Step 1: Install package

To get started with Laravel Trailing Slash, use Composer command to add the package to your composer.json project's dependencies:

composer require fsasvari/laravel-trailing-slash

Or add it directly by copying next line into composer.json:

"fsasvari/laravel-trailing-slash": "8.*"

Step 2: Service Provider

Laravel automatically discovers this package via package auto-discovery, so manual registration is usually not required.

If you have disabled auto-discovery or prefer manual registration:

  • For Laravel 11.x and above, register the LaravelTrailingSlash\RoutingServiceProvider in your bootstrap/providers.php configuration file:
return [
    // Package Service Providers...
    // ...
    LaravelTrailingSlash\RoutingServiceProvider::class,
    // ...
];
  • For Laravel 10.x and below, register the LaravelTrailingSlash\RoutingServiceProvider in your config/app.php configuration file:
'providers' => [
    // Application Service Providers...
    // ...

    // Package Service Providers...
    // ...
    LaravelTrailingSlash\RoutingServiceProvider::class,
    // ...
],

Step 3: .htaccess

If you are using apache, copy following redirection code from public/.htaccess to your own project:

<IfModule mod_rewrite.c>
    # Redirect To Trailing Slashes If Not A Folder Or A File...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(/$|\.)
    RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
</IfModule>

Step 4: Routes

In routes/web.php, you must use routes with trailing slashes now:

Route::get('/', function () {
    return view('welcome');
});

Route::get('about/', function () {
    return view('about');
});

Route::get('contact/', function () {
    return view('contact');
});

Usage

Every time you use some Laravel redirect function, trailing slash ("/") will be applied at the end of url.

return redirect('about/');

return back()->withInput();

return redirect()->route('text', ['id' => 1]);

return redirect()->action('IndexController@about');

Change log

Please see CHANGELOG for more information what has changed recently.

Notice

There is a problem with overriding Laravel Paginator and LengthAwarePaginator classes. So, every time you use paginate() method on your models, query builders etc., you must set current path for pagination links. Example:

$texts = Text::where('is_active', 1)->paginate();
$texts->setPath(URL::current());

$texts->links();

Licence

MIT Licence. Refer to the LICENSE file to get more info.

Author

Frano Šašvari

Email: sasvari.frano@gmail.com

Buy me a Beer

Buy me a Beer