Middleware to change request uri.

1.0.0 2019-09-23 08:09 UTC

This package is auto-updated.

Last update: 2020-02-23 09:14:40 UTC


Latest Version on Packagist Software License Build Status Quality Score

Simple Middleware to rewrite the path, the query and the fragment of the an http request uri. It requires an array of rules that are evaluated in sequence. A rule is a two position array: array[0] is the regexp pattern to search (internally translated in #^$pattern$# and array[1] is the replacement according the php function preg_replace.

Inspired from middlewares/base-path



This package is installable and autoloadable via Composer as linkeddatacenter/url-rewriter.

composer require linkeddatacenter/url-rewriter


$dispatcher = new Dispatcher([
	new Middlewares\BasePath([
            '/(\w+)' => '/$1/pluto',
            '/(\w+)/(\w+)/(\w+).(csv|json|xml)(.*)' =>'/$1/docstore?db=$2&table=$3&format=$4$5',

$response = $dispatcher->dispatch(new ServerRequest());


__construct(array $rules)

rules := array [ , ,.... ] rule := array [ , ]

Test with docker

docker run --rm -ti -v $PWD/.:/app composer composer install
docker run --rm -ti -v $PWD/.:/app composer vendor/bin/phpunit

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

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