middlewares/redirect

A redirect repository for PSR-15 middleware packages

v2.0.0 2019-12-06 21:49 UTC

This package is auto-updated.

Last update: 2020-05-06 23:00:58 UTC


README

Latest Version on Packagist Software License Build Status Quality Score 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.