middlewares/redirect

A redirect repository for PSR-15 middleware packages

Package info

github.com/middlewares/redirect

pkg:composer/middlewares/redirect

Statistics

Installs: 24 907

Dependents: 1

Suggesters: 0

Stars: 5

Open Issues: 0

v2.1.0 2025-03-22 19:41 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 2545c6aaa6fa7230ecaff442e182b3896e96d4a8

httpredirectservermiddlewarepsr-7psr-15

This package is auto-updated.

Last update: 2026-06-26 17:31:27 UTC


README

👁 Latest Version on Packagist
👁 Software License
👁 Testing
👁 Total Downloads

Middleware to redirect old urls to new urls SEO friendly.

Requirements

Installation

This package is installable and autoloadable via Composer as middlewares/redirect.

composer require middlewares/redirect

Example

Dispatcher::run([
	new Middlewares\Redirect(['/old-url' => '/new-url'])
]);

Usage

You can use an array or an object extending ArrayAccess interface with the urls to redirect, the key is the old url and the value the new.

$redirections = [
	'/corporative-info' => '/about-us',
	'/post/2390' => '/post/new-psr15-middlewares',
];

$redirect = new Middlewares\Redirect($redirections);

Optionally, you can provide a Psr\Http\Message\ResponseFactoryInterface as the second argument to create the redirect responses. If it's not defined, Middleware\Utils\Factory will be used to detect it automatically.

$responseFactory = new MyOwnResponseFactory();

$redirect = new Middlewares\Redirect($redirections, $responseFactory);

permanent

Use temporary or permanent redirection HTTP status code for the response. Enabled by default.

//Temporary redirections (302)
$redirect = (new Middlewares\Redirect($redirections))->permanent(false);

query

Take the query part of the URI into account when matching redirects. Enabled by default.

//Ignore url query
$redirect = (new Middlewares\Redirect($redirections))->query(false);

method

This option accepts an array with the allowed HTTP request methods. (By default is: ['GET'].)

//Redirects GET and HEAD requests
$redirect = (new Middlewares\Redirect($redirections))->method(['GET', 'HEAD']);

Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.