PHPackages                             bolt/redirector - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. bolt/redirector

ActiveBolt-extension[Utility &amp; Helpers](/categories/utility)

bolt/redirector
===============

🔄 This Bolt extension adds redirects using YAML

2.0.0(3mo ago)32.9k5MITPHPPHP &gt;=8.2CI passing

Since Jul 30Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/bolt/redirector)[ Packagist](https://packagist.org/packages/bolt/redirector)[ GitHub Sponsors](https://github.com/bobvandevijver)[ RSS](/packages/bolt-redirector/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)Dependencies (7)Versions (9)Used By (0)

Bolt Redirector
===============

[](#bolt-redirector)

Author: Ivo Valchev

Bolt Redirector is a Bolt CMS extension that performs simple URL redirects defined in a clean YAML config file.

Features
--------

[](#features)

- Define redirects in YAML (`from` → `to`).
- Match redirects by either absolute path (`/old-page`) or full URL (`https://example.org/old-page`).
- Configurable HTTP status code (default **302** / “Found”).
- Avoids redirecting Bolt backend and async/admin requests.

Installation:
-------------

[](#installation)

```
composer require bolt/redirector
```

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

[](#configuration)

After installation, configure the extension using its config file (typically located under your project’s Bolt extensions config directory, depending on how your Bolt project is set up).

The extension ships with a `config.yaml` template that documents these options.

Example `config.yaml`

```
# Redirector extension configuration file

# Optional: status code for redirects
# Common values:
#  - 301 (permanent)
#  - 302 (temporary, default)
status_code: 301

redirects:
  # You can use an absolute path:
  /page/about: /page/about-us

  # You can also match a full URI (quote it because of ":" in "https://"):
  "https://example.org/page/mission": "/page/our-mission"

  # Trailing slashes are normalized, so these are treated the same:
  /blog: /news
  /blog/: /news/
```

Running Rector, PHPStan and Easy Codings Standard
-------------------------------------------------

[](#running-rector-phpstan-and-easy-codings-standard)

First, make sure dependencies are installed:

```
COMPOSER_MEMORY_LIMIT=-1 composer update

```

And then run code quality checks:

- `vendor/bin/rector process -n --no-progress-bar --ansi`
- `vendor/bin/phpstan analyse --ansi`
- `vendor/bin/ecs check src --ansi`

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance78

Regular maintenance activity

Popularity24

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 52.9% of commits — single point of failure

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 ~233 days

Recently: every ~379 days

Total

8

Last Release

119d ago

Major Versions

1.0.6 → 2.0.02026-01-19

PHP version history (2 changes)1.0.0PHP &gt;=7.2.9

2.0.0PHP &gt;=8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1835343?v=4)[Bob van de Vijver](/maintainers/bobvandevijver)[@bobvandevijver](https://github.com/bobvandevijver)

![](https://avatars.githubusercontent.com/u/3901745?v=4)[Tobias Feijten](/maintainers/tobias-93)[@tobias-93](https://github.com/tobias-93)

![](https://www.gravatar.com/avatar/78ae1389d35ad7a4cda25bce02c73b64994823df39bc8bd023eea17dd4a54dc9?d=identicon)[I-Valchev](/maintainers/I-Valchev)

---

Top Contributors

[![I-Valchev](https://avatars.githubusercontent.com/u/7093518?v=4)](https://github.com/I-Valchev "I-Valchev (9 commits)")[![bobdenotter](https://avatars.githubusercontent.com/u/1833361?v=4)](https://github.com/bobdenotter "bobdenotter (5 commits)")[![bobvandevijver](https://avatars.githubusercontent.com/u/1835343?v=4)](https://github.com/bobvandevijver "bobvandevijver (1 commits)")[![Spomsoree](https://avatars.githubusercontent.com/u/14187981?v=4)](https://github.com/Spomsoree "Spomsoree (1 commits)")[![Vondry](https://avatars.githubusercontent.com/u/29740752?v=4)](https://github.com/Vondry "Vondry (1 commits)")

###  Code Quality

Static AnalysisPHPStan, Rector

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/bolt-redirector/health.svg)

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

###  Alternatives

[stfalcon/tinymce-bundle

This Bundle integrates TinyMCE WYSIWYG editor into a Symfony2 project.

2692.9M24](/packages/stfalcon-tinymce-bundle)[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)[netgen/content-browser

Netgen Content Browser is a Symfony bundle that provides an interface which selects items from any kind of backend and returns the IDs of selected items back to the calling code.

14112.1k8](/packages/netgen-content-browser)[leapt/core-bundle

Symfony LeaptCoreBundle

2529.1k4](/packages/leapt-core-bundle)

PHPackages © 2026

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