PHPackages                             neos/redirecthandler - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. neos/redirecthandler

ActiveNeos-package

neos/redirecthandler
====================

Basic API to handle HTTP redirects with the Flow Framework

6.0.2(11mo ago)4826.2k↑18.9%18[6 issues](https://github.com/neos/redirecthandler/issues)[1 PRs](https://github.com/neos/redirecthandler/pulls)5MITPHPPHP &gt;=8.2

Since May 4Pushed 11mo ago2 watchersCompare

[ Source](https://github.com/neos/redirecthandler)[ Packagist](https://packagist.org/packages/neos/redirecthandler)[ Fund](https://shop.neos.io/neosfunding/)[ RSS](/packages/neos-redirecthandler/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (31)Used By (5)

Flow redirect handler
=====================

[](#flow-redirect-handler)

[![Latest Stable Version](https://camo.githubusercontent.com/71c59fe65f13e47ff5f7edf197085386d78fd029942f917023c4f02e2f8e3e58/68747470733a2f2f706f7365722e707567782e6f72672f6e656f732f726564697265637468616e646c65722f762f737461626c65)](https://packagist.org/packages/neos/redirecthandler)[![License](https://camo.githubusercontent.com/d9bc8eb35bd231f9af0ed9c068479fdc729b33370dc6eedc1bc72013cd1274d2/68747470733a2f2f706f7365722e707567782e6f72672f6e656f732f726564697265637468616e646c65722f6c6963656e7365)](https://packagist.org/packages/neos/redirecthandler)[![Travis Build Status](https://camo.githubusercontent.com/eeae996c9eef9a4cb90f13888ecd7f1d6ded727e0a750ccbe3a69d0c8dc6bd69/68747470733a2f2f7472617669732d63692e6f72672f6e656f732f726564697265637468616e646c65722e7376673f6272616e63683d6d61696e)](https://travis-ci.org/neos/redirecthandler)

The Neos.RedirectHandler package for Flow allows to create redirects that will be returned to the client.

It can be used to divert changed URLs to new targets without having to adjust the webserver configuration for each redirect.

Installation
------------

[](#installation)

To use the redirect package, you have to install this package

```
composer require "neos/redirecthandler"

```

and additionally a storage package. A default one for storing redirects in the database can be installed using composer with

```
composer require "neos/redirecthandler-databasestorage"

```

### Using this package with Neos CMS

[](#using-this-package-with-neos-cms)

Check out the [adapter package for Neos](https://github.com/neos/redirecthandler-neosadapter).

### Upgrading from 2.x

[](#upgrading-from-2x)

The hit counter has been disabled by default.

You can enable it again in your Settings:

```
Neos:
  RedirectHandler:
    features:
      hitCounter: true

```

The default status codes for redirects has been changed from 307 to 301 as mostly permanent redirects are desired instead of temporary.

You can enable the old behavior in your Settings:

```
Neos:
  RedirectHandler:
    statusCode:
      redirect: 307

```

Configuration
-------------

[](#configuration)

**Note**: When using this to handle redirects for persistent resources, you must adjust the default rewrite rules! By default, any miss for `_Resources/…` stops the request and returns a 404 from the webserver directly:

```
# Make sure that not existing resources don't execute Flow
RewriteRule ^_Resources/.* - [L]

```

For the redirect handler to even see the request, this has to be removed. Usually the performance impact can be neglected, since Flow is only hit for resources that once existed and to which someone still holds a link.

### What to do when redirects are not triggered but other controller actions

[](#what-to-do-when-redirects-are-not-triggered-but-other-controller-actions)

Override the routing order like this:

```
Neos:
  Flow:
    http:
      middlewares:
        redirect:
          position: 'before routing'
```

Be careful when using this configuration, as this will make the redirect component act first before any other route is resolved and could for example prevent a login or similar.

Possible problems
-----------------

[](#possible-problems)

- When trying to redirect URLs with umlauts (or other special chars), be aware you might need to enter them urlencoded. But to be able to enter `%C3%BC` in place of `ü` you will need to adjust the source path validation regex to allow `%`.

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance30

Infrequent updates — may be unmaintained

Popularity45

Moderate usage in the ecosystem

Community29

Small or concentrated contributor base

Maturity86

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~123 days

Recently: every ~78 days

Total

28

Last Release

349d ago

Major Versions

3.0.1 → 4.0.22019-09-28

3.0.3 → 5.0.02020-12-08

4.0.4 → 5.0.12021-09-06

5.0.3 → 6.0.02023-09-30

5.0.4 → 6.0.12024-07-26

PHP version history (2 changes)6.0.0PHP &gt;=8.2

5.0.x-devPHP &gt;=8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11575267?v=4)[Neos](/maintainers/neos)[@neos](https://github.com/neos)

---

Top Contributors

[![Sebobo](https://avatars.githubusercontent.com/u/596967?v=4)](https://github.com/Sebobo "Sebobo (68 commits)")[![dfeyer](https://avatars.githubusercontent.com/u/221173?v=4)](https://github.com/dfeyer "dfeyer (47 commits)")[![gerhard-boden](https://avatars.githubusercontent.com/u/10533739?v=4)](https://github.com/gerhard-boden "gerhard-boden (29 commits)")[![daniellienert](https://avatars.githubusercontent.com/u/642226?v=4)](https://github.com/daniellienert "daniellienert (14 commits)")[![kdambekalns](https://avatars.githubusercontent.com/u/95873?v=4)](https://github.com/kdambekalns "kdambekalns (13 commits)")[![dlubitz](https://avatars.githubusercontent.com/u/13046100?v=4)](https://github.com/dlubitz "dlubitz (9 commits)")[![aertmann](https://avatars.githubusercontent.com/u/903567?v=4)](https://github.com/aertmann "aertmann (9 commits)")[![mficzel](https://avatars.githubusercontent.com/u/1309380?v=4)](https://github.com/mficzel "mficzel (5 commits)")[![albe](https://avatars.githubusercontent.com/u/4259532?v=4)](https://github.com/albe "albe (4 commits)")[![pKallert](https://avatars.githubusercontent.com/u/91674611?v=4)](https://github.com/pKallert "pKallert (3 commits)")[![kitsunet](https://avatars.githubusercontent.com/u/324408?v=4)](https://github.com/kitsunet "kitsunet (3 commits)")[![Jonathan2022Bausch](https://avatars.githubusercontent.com/u/114176574?v=4)](https://github.com/Jonathan2022Bausch "Jonathan2022Bausch (2 commits)")[![2case](https://avatars.githubusercontent.com/u/60891?v=4)](https://github.com/2case "2case (2 commits)")[![Nikdro](https://avatars.githubusercontent.com/u/9807101?v=4)](https://github.com/Nikdro "Nikdro (1 commits)")[![mhsdesign](https://avatars.githubusercontent.com/u/85400359?v=4)](https://github.com/mhsdesign "mhsdesign (1 commits)")

---

Tags

hacktoberfest

### Embed Badge

![Health badge](/badges/neos-redirecthandler/health.svg)

```
[![Health](https://phpackages.com/badges/neos-redirecthandler/health.svg)](https://phpackages.com/packages/neos-redirecthandler)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[silverstripe/framework

The SilverStripe framework

7213.5M2.5k](/packages/silverstripe-framework)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[october/rain

October Rain Library

1601.7M63](/packages/october-rain)[neos/neos

An open source Content Application Platform based on Flow. A set of core Content Management features is resting within a larger context that allows you to build a perfectly customized experience for your users.

116989.0k674](/packages/neos-neos)[filament/actions

Easily add beautiful action modals to any Livewire component.

1220.8M36](/packages/filament-actions)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
